我正在使用一段代码来构建一个小部件。见下文:
$(".number-plate").html(function(i, h) {
return h.replace(/(ANY|[A-Za-z0-9])/g, '<img src="plate-widget/$1.gif" />');
});
问题是这取代了整个元素,而不仅仅是内容!
有没有办法只定位.number-plate
的内容?
任何帮助都得到了极大的赞赏,谢谢
答案 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存在问题......