javascript - 使用 jQuery 将 anchor 属性 append 到数组

标签 javascript jquery arrays attributes append

在这个问题上遇到了真正的麻烦,我知道这很简单。谷歌并没有提供太多帮助,因为我不太确定要问什么。所以这是交易:

我有一个 anchor 列表,需要将每个 anchor 的两个属性 append 到特定格式的数组中。我可以轻松获取每个元素的属性,但我不确定如何将它们 append 到数组中。这就是我正在寻找的内容:

目标数组输出

slides = [{
    img: 'img/aaron1.jpg',
    desc: '127'
}

HTML

<section id="photoBin">
    <ul>
        <li><a id="test" href="img/aaron1.jpg" title="Photo #127">127</a></li>
        <li><a href="img/aaron2.jpg" title="Photo #128">128</a></li>
        <li><a href="img/aaron3.jpg" title="Photo #129">129</a></li>
        <li><a href="img/aaron4.jpg" title="Photo #130">130</a></li>
        <li><a href="img/aaron5.jpg" title="Photo #131">131</a></li>
        <li><a href="img/aaron6.jpg" title="Photo #132">132</a></li>
    </ul>
</section>

JavaScript

var slides = [];

$('li a').each(function(){

    var el = $(this)
        img,
        desc;

        img = el.attr('href');
        desc = el.attr('title').split('Photo #');
});

感谢您的帮助!让我们把这一点归功于简单的声誉:)

最佳答案

您缺少通过 push 将它们添加到数组的部分。

此外, split 给你一个数组;如果您只想查找拆分的第二部分(数字),则需要通过索引访问器 [1] 访问该数组的第二个元素:

http://jsfiddle.net/H4wWX/1/

var slides = [];

$('li a').each(function(){
    var el = $(this);

    slides.push({
        img: el.attr('href'),
        desc: el.attr('title').split('Photo #')[1]
    });
});

您可能还需要考虑对此进行防弹;如果el.attr('title')不是字符串或不包含 "Photo #" ,分割/索引访问器将抛出异常。

关于javascript - 使用 jQuery 将 anchor 属性 append 到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12941218/

相关文章:

javascript - 如何将类方法导入 React 类

javascript - res.redirect 来自 AJAX 调用

JQuery Slider 替代品?

javascript - 在 Javascript 中发出顺序 POST 请求的最佳方法

javascript - 如何使用 Javascript 计算总计

javascript - 如何使用ajax/jquery调用外部页面而不是使用iframe?

jquery - 可以通过 jQuery animate() 动画的 CSS 属性的完整列表

javascript - 在javascript中接收只有一个元素的表单数组时出现问题

javascript - 如何在我的特定情况下形成嵌套数组的数组?

c# - 在 C# 中使用线程用随机数填充数组