使用jquery替换html属性

时间:2012-02-19 16:52:01

标签: javascript jquery html

我有这个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>")无效。

2 个答案:

答案 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');