Jquery:选择新添加的DOM节点的最佳方法是什么?

时间:2015-09-29 08:06:12

标签: javascript jquery performance append selector

我有一个外部模板文件,其结构在单击按钮时动态添加到表中。当以这种方式添加新表行时,我需要在这个新添加的代码段上调用回调函数。

我想知道,选择这个新代码的最佳方法是什么。它有一个ID,所以写一些其他选择器不会有问题,但我想知道是否有更简单快捷的方法来选择它。

这是一段代码:

$rightSpot.append(app.renderTemplate('temp/product', tplData ));

编辑:这对我有用,但也许有更好的方法:

$newProduct = $rightSpot.find('tr').last().find('textarea');

3 个答案:

答案 0 :(得分:0)

我会考虑使用react.js。使用react的优点是它可以与虚拟DOM一起使用,因此在回调可用之前,您不会依赖物理DOM进行渲染。

http://facebook.github.io/react/

答案 1 :(得分:0)

我不知道这是不是最好的方式,但你可以做这样的事情 -



$("#giveitafriend").click(function() {
  $("#ab").append($("<span>")
    .text("I'm here too!")
    .css("color", "red")
  );
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="ab">
  <span>On My  Own</span>
</div>
<button id="giveitafriend">Give it a Friend</button>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

假设你的renderTemplate函数返回HTML元素,你可以按如下方式访问新元素

var newElement = app.renderTemplate('temp/product', tplData ); 
$rightSpot.append(newElement);
console.log($(newElement).attr('id'));