javascript - 用于多个项目的 Ajax 加载器脚本

标签 javascript jquery html ajax

我有这样的列表元素

<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') ...

关于javascript - 用于多个项目的 Ajax 加载器脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47545639/

相关文章:

javascript - 将背景图片设置为 100%

javascript - 从 JSON 中的对象获取项目

javascript - 在特定视口(viewport)宽度处禁用 Owl Carousel

android - Android 浏览器上的 HTML5 输入

javascript - 尝试添加垂直 div 和其他内容被推下

javascript - javascript 字符串变量有类似 getElementsByTagName() 的函数吗?

javascript - 要么无法提交(); jQuery 中的表单,或无法检查输入字段是否已填写

jquery - 如何单独或成组切换单元格颜色

jquery - 如何设置attr方法的第二个参数?

html - IE/FF 中缺少表单文本区域调整大小图标/句柄?