我编写了这种JQuery选择器,它在我渲染的HTML Dom中选择了15种html“td”元素:
var parentElement = jQuery('.myClassSelector').parent();
这个jQuery给出了我所有选定元素的数量:
var parentElementSize = jQuery('.myClassSelector').parent().size();
现在我想迭代所选元素并将Informationtext附加到每个元素:
for(i = 0; i < parentElementSize; i++){
parentElement[i].append('Some Informationtext to append !!!');
}
但这种代码不起作用。如果我使用这种jQuery代码,那么每个元素的信息文本将被渲染15,但我想为每个元素渲染一次
jQuery(parentElement).each(function(){
$(this).append('Some Informationtext to append !!!');
});
我该如何解决这个问题?
非常感谢帮助我!
答案 0 :(得分:3)
使用带有匿名功能的$.each
时,您需要传递2个参数
首先是元素索引,第二个是元素本身。
jQuery(parentElement).each(function(i, item){
$(item).append('Some Informationtext to append !!!');
});
答案 1 :(得分:1)
除非您为每位家长添加不同的内容,否则您不需要循环播放 -
var parentElement = jQuery('.myClassSelector').parent(); // they're all selected
parentElement.append('Some Informationtext to append !!!'); // add one thing to each of them
以下是一个工作示例 - http://jsfiddle.net/jayblanchard/ur93v/为每个表格行添加一个新行。
var parElem = $('.foo').parent();
var newRow = '<td class="bar">bar</td>';
parElem.append(newRow);