如何使用JQuery定位元素的内容?

时间:2011-01-18 11:44:28

标签: javascript jquery

我正在使用一段代码来构建一个小部件。见下文:

$(".number-plate").html(function(i, h) { 
   return h.replace(/(ANY|[A-Za-z0-9])/g, '<img src="plate-widget/$1.gif" />'); 
});

问题是这取代了整个元素,而不仅仅是内容!

有没有办法只定位.number-plate的内容?

任何帮助都得到了极大的赞赏,谢谢

3 个答案:

答案 0 :(得分:2)

您可以提取节点,修改节点并在之后替换它,如下所示:

var html = $(".number-plate").html();
$(".number-plate").html(html.replace(/(ANY|[A-Za-z0-9])/g, '<img src="plate-widget/$1.gif" />'));

答案 1 :(得分:2)

(edit :)如果您有多个类number-plate的元素,则可以使用:

$(".number-plate").each(function() {
   var $this = $(this);
   $this.html($this.html().replace(/(ANY|[A-Za-z0-9])/g, '<img src="plate-widget/$1.gif" />'); 
});

答案 2 :(得分:0)

不应该发生,该功能只处理标签的内容,而不是标签本身。

您可以通过将 alert(h); 添加到您的函数来检查它。如果您获得整个标记及其内容,我会说您的HTML存在问题......