我需要更新每个第5个td。我写了这样的jquery
$(document).ready(function(){
var td = $('tbody td:nth-child(5)');
var img = '/img/'+td.html().trim().toString();
$.each(td, function(index, value){
value.html('<img src="' + img +'">');
});
})
但它说我Uncaught TypeError: value.html is not a function
。我怎么能修好它?
答案 0 :(得分:5)
问题是,value
是一个dom元素引用而不是jQuery对象。
此外,由于您要更新每个td
的html内容,您必须迭代并设置html,否则img_link
将仅具有第一个{{1}的值在td
集
td
答案 1 :(得分:3)
使用nth-child(5n)
选择每个第5个元素。
var td = $('tbody td:nth-child(5n)');
// ^ ------------ you missed n here
<强>代码强>
$(document).ready(function () {
$('tbody td:nth-child(5n)').each(function () {
var img_link = '/img/category_img/' + $(this).html().trim();
$(this).html('<img height="120px" width="100px" src="' + img_link + '">');
});
});
答案 2 :(得分:2)
这样:
td.each(function(index, value) {
答案 3 :(得分:0)
您可能没有注意到,但在查询中缺少n。
它应该是$(document).ready(function () {
var td = $('tbody td:nth-child(5n)');
td.html(function(i,html){
return '<img height="120px" width="100px" src="' + html.trim() + '">'
})
})
以下是更正的查询
nth-child(5n)