0

我想在 DIV 中的 HTML 中添加一个字体元素。同一页面内将有多个具有唯一 ID 的 div。

<div id="id-unknown">
  "Some Text"
 <font color="red">*</font>
</div>

<div id="id-unknown">
  <font color="red">*</font>
  "Some Text"
</div>

我使用这个 Jquery 代码来实现它,但它获取所有字体并添加到每个 div 元素

$("font").prependTo($("font").parent());

http://jsfiddle.net/s4Ehw/

4

4 回答 4

2

如果您只想对特定的 div 执行此操作,只需添加 ID 选择器并使用.each来获取对特定元素的引用 ( this)

$('#id1, #id2, #id3').children('font').each(function() {
    $(this).prependTo(this.parentNode);
});

如果碰巧每个 font标签都需要此更改,请使用与.each上述相同的构造,但使用$('font'),根据您的原始代码和 Si Donaldson 的回答。

为了获得额外的性能,请将函数体替换为:

var parent = this.parentNode;
parent.insertBefore(this, parent.firstChild);

即用直接的DOM 操作替换jQuery 调用。

于 2013-09-20T09:58:54.193 回答
1

您需要先使用 $.each 遍历每个,然后您可以单独处理每个!

http://jsfiddle.net/sidonaldson/s4Ehw/2/

$("font").each(function(){
    $(this).prependTo($(this).parent());
});
于 2013-09-20T09:59:12.583 回答
0

使用jQuery每个函数来管理循环jsfiddle.net/s4Ehw/6/中的元素

$("font").each(function(){
  $(this).prependTo($(this).parent());
})
于 2013-09-20T10:00:25.650 回答
0
$.each($("font"), function(index, element) {
    console.log($(element));
    $(element).prependTo($(element).parent());
});
于 2013-09-20T10:06:10.703 回答