Javascript 需要使用jQuery在dom树中查找元素的更优雅的方法吗
我有几个元素在一个元素中四处飞舞,需要在窗口完成加载时进行更改(Javascript 需要使用jQuery在dom树中查找元素的更优雅的方法吗,javascript,jquery,Javascript,Jquery,我有几个元素在一个元素中四处飞舞,需要在窗口完成加载时进行更改($(window.load…) 当脚本加载时,我一直在努力寻找一种更优雅的方法来查找字符串 下面值得注意的是,您还可以看到大量重复使用parent和next操作符 我试过最近的,但它只在dom树上出现一次(据我所知),而且父母从未真正对我起作用,但我可能用错了 前 此运行的HTML输出如下所示: <div class="boxy"> <div class="read"> <d
$(window.load…
)
当脚本加载时,我一直在努力寻找一种更优雅的方法来查找字符串
下面值得注意的是,您还可以看到大量重复使用parent
和next
操作符
我试过最近的
,但它只在dom树上出现一次(据我所知),而且父母
从未真正对我起作用,但我可能用错了
前
此运行的HTML输出如下所示:
<div class="boxy">
<div class="read">
<div class="postmetadata">Vancity Buzz</div>
<div class="articleTitle"></div>
</div>
<div class="rightCtrls"></div>
<div class="initialPostLoad"></div>
<div class="ajaxBoxLoadSource"></div>
<div class="articleImageThumb">
<a href="#">
<img src="image.png" class="attachment-large wp-post-image" alt=""/>
</a>
</div>
</div>
城市嗡嗡声
我想您应该这样做:
$(".postmetadata:contains('Vancity Buzz')")
.closest('.read') //Closest will get you to the parent with class .read
.siblings('.articleImageThumb').hide(); //this will get you all the siblings with class articleImageThumb
此
指的是窗口,而不是您在if条件中检查的元素
我不知道你的意图是不是仅仅通过隐藏图像来获得空的锚标签。如果是这样,只需添加一个查找即可。我认为您需要这样做:
$(".postmetadata:contains('Vancity Buzz')")
.closest('.read') //Closest will get you to the parent with class .read
.siblings('.articleImageThumb').hide(); //this will get you all the siblings with class articleImageThumb
此
指的是窗口,而不是您在if条件中检查的元素
我不知道你的意图是不是仅仅通过隐藏图像来获得空的锚标签。如果是这样,只需添加一个查找即可。您可以这样做
$('.articleImageThumb img').toggle($(".postmetadata:contains('Vancity Buzz')").length)
如果有多个div,并且确实需要遍历,那么有多种方法
$(".boxy:has(.postmetadata:contains('Vancity Buzz'))").find('.articleImageThumb img').hide()
或
或
你可以这么做
$('.articleImageThumb img').toggle($(".postmetadata:contains('Vancity Buzz')").length)
如果有多个div,并且确实需要遍历,那么有多种方法
$(".boxy:has(.postmetadata:contains('Vancity Buzz'))").find('.articleImageThumb img').hide()
或
或
您是否调查过家长,您可以通过这样的选择器:
$(this).parents('.boxy').find(".articleImageThumb")
但是要小心,如果有一个父方盒指向该方盒,parents()将返回它,因此您会找到multiple.articleImageThumb。您是否查看过父方盒,您可以通过如下方式传递选择器:
$(this).parents('.boxy').find(".articleImageThumb")
但是要小心,如果有一个父方盒指向该方盒,parents()将返回它,因此您会找到多个.articleMageThumb。您的
$(此)
引用的窗口parents()
不会神奇地只为您工作。它每次都会做手册上说的事情。试着阅读手册,确保你知道它是如何工作的。然后你就会知道你是否应该在这里使用它。你的$(这个)
指的是parents()窗口不会神奇地不适合你。它每次都会做手册上说的事情。试着阅读手册,确保你知道它是如何工作的。然后你就会知道你是否应该在这里使用它。@canacast有很多方法可以做到这一点。检查@:prodigitalson也回答。@cancast顺便问一下,你想单独隐藏图像,而锚定标记为空吗?@PSL问得好,但不是很好<代码>隐藏
只是一个占位符。我仍然需要弄清楚如何更改src=“…”
路径来表示不同的站点,以获得更大的文章图像,并避免出现微小的无害RSS缩略图。@PSL又答对了!难怪你得了几千分!我希望你的善行能得到很多礼物。@canacast是的,就是这样语法是.attr(attributeName,function(index,attr))
ref:。@canacast有很多方法可以做到这一点。检查@:prodigitalson也回答。@cancast顺便问一下,你想单独隐藏图像,而锚定标记为空吗?@PSL问得好,但不是很好<代码>隐藏只是一个占位符。我仍然需要弄清楚如何更改src=“…”
路径来表示不同的站点,以获得更大的文章图像,并避免出现微小的无害RSS缩略图。@PSL又答对了!难怪你得了几千分!我希望你的善行能得到大量的礼物。@canacast是的,就是这样语法是.attr(attributeName,function(index,attr))
ref:。