javascript - 如何循环遍历 UL 中的 LI 项,获取特定属性,并通过 $.ajax 数据传递它们

标签 javascript jquery

这是我的 HTML 代码:

<ul id="gallery">
    <li id="attachment-32" class="featured"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-34"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-38"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-64"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li id="attachment-75"><a href="..." title=""><img src="..." alt="" /></a></li>
    <li></li>
</ul>

这是我的示例 ajax 请求:

$.ajax({
    url: '/ajax/upload.php',
        type: 'POST',
    data: { ... },
        success: function(data){
        }
});

这是我想要实现的。

  1. 只有当 ID 属性存在时,如何获取画廊 UL 中每个 LI 的 ID 属性中的附件编号,并以这种方式通过 ajax 数据传递它们:{ attached : '32,34, 38,64,75' 如果有更好的方法让我知道我想传递包含要处理的附件的列表项。 我想避免空的 LI 项目,不包括 id attr。

  2. 如何获取具有特色类别的列表项 LI,例如{ featured_img : .. } 如果特色 LI 存在,则传递附件 ID 号,如果没有列表项是特色,则传递带有 0 的 featured_img。所以我知道如何在请求中通过 php 处理它。

感谢任何帮助。

谢谢。

最佳答案

有一个 .map为此:

var ids = $("#gallery li").map(function () {
    return this.id.split("-")[1];
}).get().join(",");

...

$.ajax({
    url: '/ajax/upload.php',
    type: 'POST',
    data: { ids: ids },
    success: function(data) {

    }
});

Demo.

关于javascript - 如何循环遍历 UL 中的 LI 项,获取特定属性,并通过 $.ajax 数据传递它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848747/

相关文章:

javascript - 如何在 ember 构建中排除组件

javascript - 使用 Javascript 操作 CSV 数据

javascript - Uikit3 - 以编程方式调用模态

jquery - 将文本 Angular 工具栏固定在滚动条上

javascript - 当下拉选择通过模型更改时如何触发jquery事件

javascript - jQuery Slidetoggle + 旋转

javascript - 如何在 JavaScript 中为默认导入设置别名?

javascript - 当我们改变执行顺序时,performance.now() 返回不同的值

javascript - 如何获取元素的样式值 - jQuery

jquery - 使用 Bootstrap 让按钮组像单选按钮一样工作