如果找到超过3个td元素,我试图将HTML块添加到表中,如果表的元素少于3个,则不执行任何操作。我已经遍历了表格,并且能够检查每个表格中有多少tds。
我尝试过使用.filter();和$ .each()但无法破解它。
所以:>>如何仅将HTML添加到传递if>的表中3声明?
我还在学习JavaScript和jQuery,所以请耐心等待。
这是迄今为止的代码:
var tbls = $("body").find("table.responsive").length;
var data = Array();
for(var index = 0; index < tbls; index++){
$("table.responsive").each(function(i, v){
data[i] = Array();
$(this).find("td").each(function(ii, vv){
data[i][ii] = $(this).text();
});
})
}
data.forEach(function(item) {
if(item.length > 3) {
//here I want to add the HTML, but it is applied to all tables
$("table.responsive").before("<div style='position:relative;'><span class='MobiScroll'></span></div>");
return false;
}
});
答案 0 :(得分:1)
您不需要从body元素开始遍历并为此创建数组,您可以计算每个函数中的TD。
$("table.responsive").each(function(){
if ( $('td', this).length > 3) {
$(this).before("<div style='position:relative;'><span class='MobiScroll'></span></div>");
}
})
答案 1 :(得分:1)
$(function(){
$("table.responsive").each(function(){
if ( $(this).find('td').length > 3) {
$(this).before("<div style='position:relative;'><span class='MobiScroll'></span></div>");
//alert($(this))
}
})});
答案 2 :(得分:0)
$("table.responsive").each(function(){
if($(this).find('td').size() > 3)
$(this).before("<div style='position:relative;'><span class='MobiScroll'></span></div>");
})