在这个问题上遇到了真正的麻烦,我知道这很简单。谷歌并没有提供太多帮助,因为我不太确定要问什么。所以这是交易:
我有一个 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]
访问该数组的第二个元素:
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/