你好,我有这个代码结构:
<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');
但是测试是未定义的:/任何人都可以告诉我我做错了什么?谢谢!!并打招呼:)
最佳答案
你可以使用 filter ?这将返回背景为 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");
我选择这种方法的原因是因为它不依赖于样式属性,样式属性可能不会以您期望的方式键入。
关于javascript - jquery获取子元素的attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913421/