gpt4 book ai didi

javascript - 尝试获取 href 的 attr 时获取#[object Object]

转载 作者:行者123 更新时间:2023-11-30 09:43:32 27 4
gpt4 key购买 nike

我有一个动态生成的 ol li列表,每个 li有一个 labelfor属性。

像这样:

<ol id="altErrorCont" class="error-container">
<li>
<label class="error" for="dobMonth">Enter the month you were born</label>
</li>
<li>
<label class="error" for="dobDay">Enter the day you were born</label>

在页面加载时,我想用 a 包装标签包含 for anchor 的标签它包裹的标签内的标签。这就是我想要发生的事情:

<ol id="altErrorCont" class="error-container">
<li>
<a href="#dobMonth">
<label class="error" for="dobMonth">Enter the month you were born</label>
</a>
</li>
<li>
<a href="#dobDay">
<label class="error" for="dobDay">Enter the day you were born</label>
</a>

我写了这个,但它不起作用:

var labelFor = $("ol#altErrorCont li label").each(function(){
$(this).attr("for");
});

$('ol#altErrorCont li > label').wrap('<a href="#'+ labelFor +'">');

它正在返回 <a href="#[object Object]">对于每个包装标签。有人可以指出正确的方向或解释为什么会这样吗?

提前致谢。

最佳答案

jQuery 的 .each() 方法返回 jQuery目的。当您在字符串连接中使用它时,JavaScript 会对其调用 toString() 方法。由于 jQuery 没有定义自己的 toString 方法,它会调用 Object.prototype 上定义的方法,该方法返回 [object Object]

下面是我的做法:

var labelFor = $("ol#altErrorCont li label").each(function(){
$(this).wrap('<a href="#'+ $(this).attr("for") +'">');
});

关于javascript - 尝试获取 href 的 attr 时获取#[object Object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com