使用jQuery,您如何用<acronym>
替换每个<abbr>
标记?
答案 0 :(得分:3)
$('acronym').each(function() {
var $this = $(this);
$this.before('<abbr>' + $this.html() + '</abbr>');
$this.remove();
});
答案 1 :(得分:2)
我试试这个,但我不提供保修。
$('acronym').each(function(index)
{
var old = this;
var newElement = $("<abbr></abbr>");
$.each(this.attributes, function(index)
{
$(newElement).attr(old.attributes[index].name, old.attributes[index].value);
});
$(newElement).html(old.html());
$(this).after(newElement).remove();
});
祝你好运,告诉我它是否已经破产了。如果它破产了,我会尝试解决它。
答案 2 :(得分:1)
使用jQuery的replaceWith。我假设你只使用title属性。
$("acronym").each(function(){//for each acronym element
var abbr = $("<abbr></abbr>");//create a new abbr element
var title = $(this).attr("title");//get the title attribute from the acronym element
abbr.attr("title",title);//add it to the new abbr element
abbr.html($(this).html());//add in the content of the acronym element
$(this).replaceWith(abbr);//replace the old with the new!
});
答案 3 :(得分:1)
有些事情:
$('acronym').each(function(i, el) {
$(this).replaceWith($('<abbr></abbr>').html($(this).html()));
});
编辑:如果你有任何东西,你也想要复制属性......理所当然地认为你没有。
答案 4 :(得分:1)
$('acronym').each(function() {
$(this).replaceWith('<abbr>' + $(this).html() + '</abbr>');
});
答案 5 :(得分:1)
$("acronym").each(function(idx,HTML) {
$(this).replaceWith('<abbr title="'+this.title+'">'+HTML+'</abbr>');
});