javascript - 对于每个具有特定属性的元素 - Javascript

标签 javascript jquery

我尝试查找具有特定属性的所有元素。对于每个元素,我想做一些依赖于属性值的事情。

我做了一个测试来取回属性的值,但它不起作用,而且我没有看到问题。

HTML:

<div id="t">Test</div>
<div data-test="One">Value One</div>
<div data-test="Two">Value Two</div>

JS:

$("[data-test]").each(function(){
    $("#t").append(this.attr("data-test"));
});

JsFiddle链接:http://jsfiddle.net/fbue5dpc/

谢谢!

最佳答案

each block 中的

this 引用没有 attr 方法的 DOM 元素。您应该使用 $(this) 将其转换为 jQuery 对象。您还可以通过使用 data 方法检索值并缓存 #t 元素来进一步改进这一点,以减少 DOM 检索的次数:

var $t = $('#t')
$("[data-test]").each(function(){
    $t.append($(this).data('test'));
});

Updated fiddle

关于javascript - 对于每个具有特定属性的元素 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27619180/

相关文章:

javascript - hover 后隐藏的 div 和 stay 出现

表单标签的Jquery选择器问题

jquery - 每个 child 单独上课

jquery - 使用 jQuery,如何将单击事件发送到动态表的一行?

javascript - 根据鼠标移动动画 css [我该如何改进]

javascript - 使用 AJAX 将表单输入发送到 PHP

javascript - 使用 Sequelize 获取 "TypeError: Cannot read property ' findAll' of undefined"

javascript - 如何在 Codeigniter 中获取 onkeyup 事件的 Ajax 函数

javascript:评估多个 if 语句而不运行 else

javascript - focusout() 无法使用 jQuery 运行