[英]Ajax loader script for multiple items
我有这样的列表元素
<ol class="listItem">
<li id="#item-1" class="NewsFeedItem">
<a href="someurl.com" class="threadLink">Example Url</a>
<div class="attachedImage"></div>
</li>
<li id="#item-2" class="NewsFeedItem">
<a href="someurl2.com" class="threadLink">Example Url 2</a>
<div class="attachedImage"></div>
</li>
<li id="#item-3" class="NewsFeedItem">
<a href="someurl3.com" class="threadLink">Example Url 3</a>
<div class="attachedImage"></div>
</li>
...
</ol>
我只想使用一个脚本为每个li
加载内容。 我在这里写了一些代码,但是没有用
$('.NewsFeedItem').each(function() {
var id = $(this).get(0).id;
$('#' + id + '.attachedImage').load( $('#' + id + '.threadLink').attr('href') + ' .firstPost .messageText img' );
});
我哪里错了?
您的代码很好,除了两点。 要选择后代,需要用空格分隔选择器,该行在此行中缺少:
$('#' + id + ' .attachedImage').load( $('#' + id + ' .threadLink').attr('href') ...
像选择器#id.attachedImage
将查找具有ID作为元素id
,具有类attachedImage
分配给它。
如果你想选择一个元素,有一类attachedImage
分配给它,这是ID的元素的后代id
,你需要写选择为#id .attachedImage
。
编辑1:
由于id中的值已经有#
,因此您还需要从选择器中删除#
:
$( id + ' .attachedImage').load( $( id + ' .threadLink').attr('href') ...
只需删除“#”
$( id + '.attachedImage').load( $( id + '.threadLink').attr('href') + '.firstPost .messageText img' );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.