我不知道如何从最外面的元素到达嵌套的 div。这是html:
<li id="slide1">
<div id="video-container">
<div id=video-holder><div id="thumbnail"></div></div>
<div id=video-title></div>
<div id=video-desc></div>
</div>
</li>
我需要从 slide1 的起始 id 到达 id 缩略图的 jquery
我不知道如何从最外面的元素到达嵌套的 div。这是html:
<li id="slide1">
<div id="video-container">
<div id=video-holder><div id="thumbnail"></div></div>
<div id=video-title></div>
<div id=video-desc></div>
</div>
</li>
我需要从 slide1 的起始 id 到达 id 缩略图的 jquery
$("#slide1").find("#thumbnail")
使用 find 获取后代。
$("#slide1").find("#thumbnail")
基本上因为它是 id 你可以这样做:因为 id 无论出现在哪里都应该是唯一的。
$("#thumbnail");
对于您的场景,您想使用startswith 选择器来选择动态ID 从video_fake
第5 张幻灯片开始。
$('#slide5fake').find('[id^=video_fake]').attr('id', 'newId')
试试这个
<li id="slide1">
<div id="video-container">
<div id=video-holder><div class="thumbnail"></div></div>
<div id=video-title></div>
<div id=video-desc></div>
<div id="video-container">
<div id=video-holder><div class="thumbnail"></div></div>
<div id=video-title></div>
<div id=video-desc></div>
</div>
</li>
<script type="text/javascript">
$('#slide1').find('.thumbnail').each(function(){ });//you can get here two thumbnail
</script>
$("#thumbnail")
会直接找到缩略图,但我怀疑缩略图的 id 会在页面下方重复,所以你真的需要搜索一个类。
$("#slide1.thumbnail")
如果您更改此行,将会这样做
<div id=video-holder><div id="thumbnail"></div></div>
对此
<div id=video-holder><div class="thumbnail"></div></div>
如果您的页面上有更多“缩略图”,最好给它一个类。ID 应该是唯一的。
在您给定的情况下,通过 ID 获取它就足够了
document.getElementById("#thumbnail")
如果你给它上课
document.querySelector("#slide1 .thumbnail")
会给你元素。
在 jQuery 中,等价于:
$("#slide1").find(".thumbnail");
有很多方法可以做到这一点......
单一选择器:
$('#slide1 #thumbnail');
如果您已经有幻灯片元素:
var slide = document.getElementById("slide1");
// and then:
$('#thumbnail', slide);
在 #slide1 元素上执行 .find()
$("slide1").find("#thumbnail");
但是由于您使用的是 ID,因此除了查找该单个 ID 之外,其他任何操作都没有任何意义,因为您不应该在一个页面上拥有多个具有相同 ID 的元素
$("#thumbnail");
可能有更多方法..最好的方法在很大程度上取决于您在做什么以及上下文是什么...
祝你好运