jQuery [attribute] 选择器仅返回第一个元素,而不返回全部

标签 jquery css-selectors

我正在尝试将样式应用于具有标题属性的所有元素。由于某种原因,此代码仅返回第一个,而不是全部。我可能错过了一些明显的东西...任何帮助都会很棒,谢谢!

$("[title]").each(function() {

   doSomething(this);

}

最佳答案

您的代码是正确的(除了缺少的);我认为这只是一个粘贴错误)并且应该可以工作。

它不起作用的唯一原因是如果您没有将代码包装在 $(document).ready 中。如果您不熟悉 $(document).ready,它是 jQuery 的一个特殊事件,一旦整个 DOM 结构准备好被操作,就会触发该事件。如果你的 Javascript 位于页面顶部,那么你在 $(document).ready 之外运行的任何内容都将针对空 DOM 进行操作,因为浏览器还没有时间创建节点。因此,每当您想要操作元素(尤其是获取所有具有标题的元素的查询)时,您肯定需要将代码放在这个特殊事件周围。

记住这一点,我尝试了以下代码,它会在带有标题的元素周围放置红色边框:

$(document).ready(function() {
    $("[title]").each(function() {
        $(this).css('border','1px solid red');
    });
});

还有它worked properly .

关于jQuery [attribute] 选择器仅返回第一个元素,而不返回全部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1088825/

相关文章:

html - 表单输入不会采用百分比填充

html - 为H1设置多种背景颜色

javascript - 如何给特定值的<text>标签添加attr(id)-Js/Jquery

javascript - 如何在高级编译模式下使用 Google Closure 编译器编译 jQuery UI 小部件?

jquery - FullCalendar.js : Rendering background with time labels?

javascript - 使用 jQuery animate() 改变大小时内联 block anchor 移动

css - 通用选择器 (*) 是否与 :last-child work in all mobile browsers? 组合

html - 如何应用条件 CSS 选择器

html - 悬停此元素时在元素后隐藏伪

javascript - 获取矩形的坐标