好的 - 所以这可能真的很简单,但我对 HTML 和 CSS 之外的任何东西都很陌生,所以我想是时候问了:)
所以我想做的是从一个新属性中获取内容并将其添加到 href 属性中。
我有什么:
<div id="testDiv">
<a href="" newAttr="12345">LINK</a>
</div>
$('#testDiv a').attr('href',newAttr+'.extension');
我想要的结果是:
<div id="testDiv">
<a href="12345.extension" newAttr="12345">LINK</a>
</div>
我是不是在这里遗漏了一些非常明显的东西,还是我离得很远?
任何帮助都会很棒!
谢谢, 尼克
*编辑 - 我在这篇文章中遗漏了一个等号,而不是我的实际代码 - Rookie :)
最佳答案
您还可以使用 attr()获取属性的值:
$('#testDiv a').attr('href', function (i, attr) {
return $(this).attr('newAttr') + '.extension'
});
顺便说一句,您的 HTML 标记中缺少 =
:
<a href="12345.extension" newAttr="12345">LINK</a>
// ----------------------------- ^ here
编辑:i
是你的 anchor 在 div 内的 anchor 集中的索引位置,id 为 testDiv
,所以在你的情况下它将是 0
因为那里只有一个 anchor 。在这种情况下,i
不是强制性的,因为您根本不需要使用它。
另一方面,attr
将返回 anchor 的旧 href
值。这里也不需要这个,因为您需要 newAttr
的值而不是 href
值,所以实际上您可以将它们都留空:
$('#testDiv a').attr('href', function () {
return $(this).attr('newAttr') + '.extension'
});
关于javascript - jQuery - 将一个属性添加到另一个属性中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22113876/