我有一个简单的问题,因为我的大脑今晚拒绝思考。
<table>
</table>
<span>2010</span>
<span>2009</span>
<span>2009</span>
<span>2009</span>
<span>2008</span>
<span>2008</span>
<span>2007</span>
$('span').each(function() {
$("table").append("<tr><td>"+$(span).text()+"</span>)</td></tr>";
});
<table>
<tr><td>2010</td></tr>
<tr><td>2009</td></tr>
<tr><td>2008</td></tr>
<tr><td>2007</td></tr>
我的想法是,我希望只显示一年不重复的内容。
我希望你能理解我。
答案 0 :(得分:3)
你不能像那样进行内联字符串替换。
您需要使用JavaScript(愚蠢的双重用途)+
运算符进行连接。
您也无法像这样访问span
。使用this
,jQuery设置为迭代的当前元素。将其包裹在$()
中以再次使用jQuery。
要删除原始文件,只需在remove()
上致电$(this)
。
var yearsUsed = [];
$('span').each(function() {
var text = $(this).text();
if ($.inArray(text, yearsUsed) === -1) {
$('table').append('<tr><td>' + text + '</span>)</td></tr>');
yearsUsed.push(text);
}
$(this).remove();
});
你还应该选择一个字符串分隔符并坚持下去 - 在这里我选择单引号('
)。
答案 1 :(得分:0)
$('span').each(function() {
$("table").append("<tr><td>" + $(this).text() + "</td></tr>");
$(this).hide();
});