0

嗨,我有一个表格,其中有一些单元格,一个单元格中有 0,所以我想将其更改为否,另一个有 1,所以我想将其更改为是,但我似乎无法让它工作,这是我迄今为止所拥有的:

if ($('.fsAction td:eq(2)').text('0')) {

    $('.fsAction td:eq(2)').html('No');

} elseif ($('.fsAction td:eq(2)').text('1')) {

    $('.fsAction td:eq(2)').html('Yes');

}

我错过了什么吗?我不能使用 val 因为这些不是表单区域

4

5 回答 5

3

.text()将获取文本值,并将'.text('0')文本设置为“0”。尝试比较文本。

if ($('.fsAction td:eq(2)').text() === '0') {

    $('.fsAction td:eq(2)').html('No');

} elseif ($('.fsAction td:eq(2)').text() === '1') {

    $('.fsAction td:eq(2)').html('Yes');

}
于 2012-08-09T21:43:09.920 回答
1

你有两个问题之一。要么你的选择器不好,要么你的方法不好。我会尝试通过将类名添加到有问题的表格单元格中来消除选择器问题的可能性,然后只做

if ($('.tablecelltest').text() == '0') {
    $('.tablecelltest').html('No');
} 
elseif ($('.tablecelltest').text() == '1') {
    $('.tablecelltest').html('Yes');
}

如果这不起作用,则说明您有选择器问题。我可以试试这个,因为有时纯文本选择器会给我带来麻烦:

$('.fsAction').find('td').eq(2)

如果这不起作用,我们可能需要查看 jsfiddle 或类似的东西。

于 2012-08-09T21:44:13.127 回答
0

谢谢大家,但这些似乎都不起作用,

我有多个 1 和 0 需要替换,但他们只将第一个更改为否,第一个是 0

于 2012-08-10T12:41:39.743 回答
0

尝试这个 :-)

var elem = $('.fsAction td:eq(2)');
elem.text() == '0' ? str = 'No' : str = 'Yes';
elem.text(str);
于 2012-08-09T21:46:01.697 回答
0

您在调用时设置文本值text('0')。要获取文本值,您需要调用不带任何参数的函数,如text(). 尝试这个:

if ($('.fsAction td:eq(2)').text() == "0") {
    $('.fsAction td:eq(2)').text('No');
} else if ($('.fsAction td:eq(2)').text() == "1") {
    $('.fsAction td:eq(2)').text('Yes');
}

另外,请注意我将替换文本内容的功能从html()更改为text()。由于您实际上并没有放入任何 HTML,text()因此是更好更快的方法。

于 2012-08-09T21:43:08.917 回答