我有这个HTML
<div class="pic">
<a class="shutterset_publication-workshop" title="" href="http://localhost/639.jpg">
<img src="http://localhost/researchclub/yu.jpg" alt="copy-of-dsc03639">
</a>
</div>
问题是我想使用jquery替换锚标记的'href'属性,同时使用jquery保留img元素,但是失败了。
$(".pic a['href']").replaceWith("<a>")
无效。
答案 0 :(得分:2)
简短版本:
$("a.shutterset_publication-workshop").attr("href", "the new value");
或
$(".pic a.shutterset_publication-workshop").attr("href", "the new value");
或
$(".pic a").attr("href", "the new value");
长版:
......但是ave失败了。
$(".pic a['href']").replaceWith("<a>")
无效......
你正在考虑加价。但是jQuery代码运行的时候,标记就消失了;相反,你在内存中的树结构中有DOM元素(对象)。你需要考虑在DOM中找到元素(因为你使用jQuery,那将是CSS选择器 - 你的选择器很好)并直接修改它们的属性/属性,而不是用新标记替换它们。
答案 1 :(得分:2)
使用attr
功能执行此操作。您可以修改它时无需替换该元素。
$(".pic a['href']").attr('href', 'http://google.com');