使用jQuery替换HTML5首字母缩略词标签

时间:2010-12-21 02:42:29

标签: jquery html5

使用jQuery,您如何用<acronym>替换每个<abbr>标记?

6 个答案:

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

Try it!

答案 3 :(得分:1)

有些事情:

$('acronym').each(function(i, el) {
    $(this).replaceWith($('<abbr></abbr>').html($(this).html()));
});

http://jsfiddle.net/7H4G6/1/

编辑:如果你有任何东西,你也想要复制属性......理所当然地认为你没有。

  • 基督教

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