[英]Jquery get attr of child element
嗨,我有這個代碼結構:
<ul id="list">
<li style="background-color: rgb(100, 100, 100);">
<a href="/anyHref_1">list_1</a>
</li>
<li style="background-color: rgb(50, 50, 50);">
<a href="/anyHref_2">list_2</a>
</li>
</ul>
我需要從“ a”獲取href,這是帶有background-color:rgb(100,100,100)的列表的子元素,因此:
var test = $('ul#list li[style~="backgroundColor: rgb(100, 100, 100)"] > a').attr('href');
但是測試是不確定的://有人可以告訴我我在做什么錯嗎? 謝謝!! 並打招呼:)
您可以使用過濾器 ? 那將返回所有背景為rgb(100,100,100)
li
:
$("li").filter(function() {
return $(this).css("background-color") === "rgb(100, 100, 100)";
});
要獲取單個鏈接的href:
var href = $("li").filter(function() {
return $(this).css("background-color") === "rgb(100, 100, 100)"
}).find("a").prop("href");
我之所以選擇這種方法,是因為它不依賴於style屬性,該屬性可能無法以您期望的方式鍵入。
您的選擇器有誤。 它應該是背景色
$('ul#list li[style="background-color: rgb(100, 100, 100);"] > a').attr("href")
而不是backgroundColor
您必須使用* =並將backgroundColor更改為background-color
var test = $('ul#list li[style*="background-color: rgb(100, 100, 100)"] > a').attr('href');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.