0

我有以下代码,我需要制作它,以便表格第二列中的填充取决于第一列中的数字。

<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 做到这一点?

4

2 回答 2

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')以防您的页面中有多个表格。

于 2012-07-08T03:46:51.473 回答
0
$('#tableThatICareAbout').find('tr > td').eq(1)
.css('padding-left',

$('#tableThatICareAbout').find('tr > td').eq(0)[0].id.split('_')[1]

);

我希望这能奏效,但无论核心问题是什么,这都是处理这个问题的一种可怕、可怕的方式。

于 2012-07-08T03:47:04.020 回答