我有以下代码,我需要这样做,所以我表格第二列的填充取决于第一列中的数字。
<tr>
<td id="refKey_1" style="text-align:center;" class=" sorting_1">1.0.0</td>
<td id="Title_1">
<input type="text" value="x" size="100" name="item.Title" id="item_Title_1">
</td>
</tr>
<tr>
<td id="refKey_2" style="text-align:center;" class=" sorting_1">1.2.0</td>
<td id="Title_2">
<input type="text" value="xx" size="100" name="item.Title" id="item_Title_2">
</td>
</tr>
<tr>
<td id="refKey_3" style="text-align:center;" class=" sorting_1">1.3.4</td>
<td id="Title_3">
<input type="text" value="xxx" size="100" name="item.Title" id="item_Title_3">
</td>
</tr>
我需要的是第二列的左边填充为0,10px或20px,具体取决于第一列id是以0.0,.0还是非零结束。
有没有办法用jQuery做到这一点?
答案 0 :(得分:2)
我假设id
你的意思是细胞的文本,对吧?只是一些正则表达式匹配来做到这一点。
$('tr').each(function() {
var tds = $(this).find('td'),
text = tds.filter('[id^="refKey_"]').text(),
tdToPad = tds.filter('[id^="Title_"]'),
pad;
if (/0\.0$/.test(text))
pad=0;
else if (/\.0$/.test(text))
pad=10;
else
pad=20;
tdToPad.css('paddingLeft', pad);
});
编辑:您也可以使用公共类而不是这些ID选择器,这将是一种更标准的方法。此外,您可以将表格的ID添加到第一个选择器:$('#tableID tr')
,以防页面中有多个表格。
答案 1 :(得分:0)
$('#tableThatICareAbout').find('tr > td').eq(1)
.css('padding-left',
$('#tableThatICareAbout').find('tr > td').eq(0)[0].id.split('_')[1]
);
我希望这可行,但无论核心问题是什么,处理这个问题都是一种可怕而可怕的方式。