javascript - jquery获取子元素的attr

标签 javascript jquery html css get

你好,我有这个代码结构:

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

jsFiddle

获取单个链接的 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/

相关文章:

javascript - 如何在Draw2D库中监听 Canvas 上的鼠标事件?

javascript - 了解 .call 和 .apply 在 Javascript 中的行为

javascript - 下拉 Materialise 不工作(没有下拉)

javascript - 调用 jquery-1.10.2.js 时 jquery-1.3.1.min.js 不工作

javascript - 通过 JQuery 在 mvc-5 操作中执行删除

javascript - on.input 太快了!是否有多字符输入事件? ..或者添加计时器的方法

php - AppCache list 错误

javascript - 自定义 Select 和 Input 标签,IE 版本看起来很糟糕

javascript - 删除移动尺寸屏幕上的脚本操作

javascript - Symfony 3 序列化器问题