2008-11-11 30 views

Trả lời

41

nếu tôi hiểu câu hỏi một cách chính xác, chọn [attribute=value]sẽ không làm việc<span> không chứa một thuộc tính "background-color". bạn có thể kiểm tra rằng ra một cách nhanh chóng để xác nhận nó sẽ không phù hợp với bất cứ điều gì:

$('#someDiv span[background-color]').size(); // returns 0 

đưa ra:

// css 
.one, .two { 
    background-color: black; 
} 

.three { 
    background-color: red; 
} 

// html 
<div id="someDiv"> 
    <span class="one">test one</span> 
    <span class="two">test two</span> 
    <span class="three">test three</span> 
</div> 

đây là một đoạn mã sẽ sẽ làm việc:

$('div#someDiv span').filter(function() { 
    var match = 'rgb(0, 0, 0)'; // match background-color: black 
    /* 
     true = keep this element in our wrapped set 
     false = remove this element from our wrapped set 
                 */ 
    return ($(this).css('background-color') == match); 

}).css('background-color', 'green'); // change background color of all black spans 
+0

Bạn sẽ làm điều tương tự như thế nào đối với ID phần tử? Và nếu bạn có 5 của cùng một id trên cùng một trang, làm thế nào bạn sẽ phù hợp với họ, chỉ định một nền, và sau đó tìm thấy khác phù hợp với ID mà sẽ làm như vậy? – Tom

+0

@Tom Đó là kinda khó khăn bởi vì tốt, bạn không nên có 5 ids. Một id nên là duy nhất trên trang đó, và có nhiều hơn một sẽ không hoạt động tốt với javascript (tôi tin rằng nó chỉ lấy cái đầu tiên mà nó tìm thấy). Bạn có thể chuyển đổi chúng thành các lớp không? – Owen

+0

Nó làm việc cho tôi. với một thay đổi nhỏ. Mã màu khi tôi kiểm tra được hiển thị trong RGB nhưng khi mã chạy, #XXXXXX hoạt động. $ (Tài liệu) .ready (function()/* chạy tập lệnh sau DOM đã sẵn sàng */{ \t \t $ ('# MyId tr ') .each (function() { \t \t \t var yellowmatch = '#ffffcc'; \t \t var redmatch = '# ffd7d7'; \t \t \t var greenmatch = '# e1ffe1'; \t \t \t if ($ (this) .css ('background-color') == redmatch) \t \t \t { \t \t \t} \t \t \t if ($ (this) .css ('background-color') == yellowmatch) \t \t \t { \t \t \t} \t \t \t if ($() .css này ('background-color') == greenmatch) \t \t \t { \t \t \t} \t \t}); }); – Sangeet

-6

Sử dụng công cụ chọn thuộc tính [attribute = value] để tìm giá trị thuộc tính nhất định.

#id_of_the_div span[background-color=rgb(255,255,255)] 
+3

này sẽ không hoạt động vì màu nền là thuộc tính css và không phải là thuộc tính html – Alp

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