jquery 第一个子语法

标签 jquery

这个语法有什么问题?

var on_a = 0; // declared outside document ready

on_a = $("#sb_results > a:first");

$(on_a + " .sbr_row").addClass('sbr_row_act');

sb_url = $(on_a).attr('href');

上面的和这个有什么不同?

$("#sb_results > a:first .sbr_row").addClass('sbr_row_act');

sb_url = $("#sb_results > a:first").attr('href');

最后一个可以工作,但第一个不行。

最佳答案

因为 on_a 是一个 jQuery 对象,所以您要连接它的 toString 表示形式,最终看起来像这样:

"[object Object] .sbr_row"

你想要的是:

on_a = $("#sb_results > a:first");
on_a.find(".sbr_row").addClass('sbr_row_act');

...等同于:

$("#sb_results > a:first .sbr_row").addClass('sbr_row_act');

选择器中a:first.sbr_row之间的空格是descendant-selector(docs) ,这实际上与使用 find()(docs) 相同方法。

关于jquery 第一个子语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840532/

相关文章:

JavaScript 无法使用 attr 更改图像

javascript - 比在 JQuery 中使用文档更好的方法

jQuery 选择下一个最接近的类

javascript - 循环遍历元素集并从不同数组添加适当的值

javascript - CSS 的 iOS Safari 滚动问题

javascript - css position 伪元素堆叠

javascript - d3js - 复制 SVG 元素,导致错误的输出

javascript - 使 div 跟随另一个 div 的位置

javascript - WordPress:JQuery 未定义导致 iPhone 上无限刷新

javascript - 根据内容更改 iframe 高度