0

我需要将表格第一列中的文本标签包装成一个跨度。这似乎很简单,但我似乎遗漏了一些东西。这是我尝试过的:

$('#myTable tr td:first-child').each(function() {
    var lbl = $(this).val();
    lbl.wrap('<span class="new" />');
}); 
4

2 回答 2

2

这是一个 td 并且您正在包装文本..所以使用contents() - val 用于输入

$('#myTable tr td:first-child').each(function() {
    var lbl = $(this).contents();
    lbl.wrapAll('<span class="new"></span>');
}); 

或者你可以使用wrapInner() - 与上面做同样的事情

$('#myTable tr td:first-child').each(function() {
    $(this).wrapInner('<span class="new"></span>');
}); 

哎呀,你甚至不必循环..只要做

$('#myTable tr td:first-child').wrapInner('<span class="new"></span>');

http://jsfiddle.net/wirey00/UcJ49/

于 2012-10-24T20:40:14.337 回答
0
var lbl = $(this).val();
alrtLbl.wrap('<span class="new" />');

应该是

var lbl = $(this).contents();
lbl.wrap('<span class="new" />');
于 2012-10-24T20:30:13.337 回答