2016-11-24 23 views
7

Có cách nào để chỉ định kiểu cho tất cả các thẻ bắt đầu bằng một số tiền tố không?Tất cả các thẻ bắt đầu bằng

Ví dụ:

tst-* { 
    display: block; 
    background: yellow; 
} 

<tst-some-tag>Some content</tst-some-tag>


Lý do tại sao tôi muốn chọn như vậy là vì tôi đang sử dụng góc và có rất nhiều các thành phần tùy chỉnh. Tất cả chúng sẽ được hiển thị là block. Có thể rất thoải mái khi chỉ định thuộc tính display cho tất cả các yếu tố tùy chỉnh, thay vì thêm lớp mỗi lần, khi tôi sử dụng chúng.

+1

Mỗi 'HTML' thẻ là vì một lý do cụ thể. Nếu bạn muốn áp dụng cùng một kiểu cho các thẻ khác nhau, hãy sử dụng 'class' và style với nó. –

+1

Bạn không thể chọn các phần của một tên thẻ. Bạn phải thêm một cái gì đó như lớp hoặc thuộc tính 'data- *' tùy chỉnh và áp dụng giải pháp trong câu trả lời của @ to7be –

Trả lời

3

Nếu bạn muốn chọn các yếu tố bởi đẳng cấp tên bạn có thể làm điều này: [class^='class']

Nếu bạn muốn chọn các yếu tố bởi id chỉ đơn giản là làm điều này: [id^='id']

Trong cả hai trường hợp, bạn chọn tất cả các yếu tố phù thủy bắt đầu với văn bản bạn đặt giữa các dấu ngoặc đơn, hoặc theo tên lớp hoặc theo id.

Biến thể cũng có thể xảy ra: div[class^='class'] hoặc div[id^='id']

0

Bạn có thể thêm lớp khác để những yếu tố trong góc đó sẽ có css cùng

<tst-some-tag class="tst-class">Some content</tst-some-tag> 

Bạn chỉ có thể thêm lớp để kiễu góc giống như jQuery cách

var myEl = angular.element(document.querySelector('tst-some-tag')); 
myEl.addClass('tst-class'); 
+0

Đây không phải là một tùy chọn, vì phương thức 'querySelector' sử dụng bộ chọn CSS, vì vậy bạn vẫn không thể sử dụng' tst - * 'xây dựng. Tôi không hiểu cách 'angular.element (document.querySelector ('tst-some-tag'))' có thể trợ giúp, nếu tôi vẫn phải chỉ định tất cả các thẻ phải có kiểu dáng cụ thể. Nghĩa là, tôi sẽ phải viết: 'angular.element (document.querySelector ('tst-some-tag, tst-some-tag-2, tst-some-tag-3 ... tst-some-tag- N ')) ' – ReasonX7

0

Theo tất cả câu trả lời, giải pháp tốt nhất là viết một lớp cụ thể và thêm nó vào mọi phần tử tùy chỉnh.

.tst { 
    display: block; 
    background: yellow; 
} 

<tst-some-tag class="tst">Some content</tst-some-tag>

Các vấn đề liên quan