簡體   English   中英

jQuery獲取子元素的attr

[英]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)";
});

的jsfiddle

要獲取單個鏈接的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'); 

http://jsfiddle.net/x96Je/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM