更改td文本而不影响td内的两个隐藏字段

时间:2012-12-11 06:51:15

标签: jquery json

我的情况是HTML table 它有一些td 每个td都有一些文本和两个hidden field
我的桌面文字有一个json source
我想在不改变两个隐藏字段的情况下更改表格的所有td的文本 早些时候我使用的是jTemplate和json。
但是我在Jason中为每个td带来了隐藏的字段值,这与原始值没有什么不同。
所以我决定改变我的方法,只带来需要替换的文本。
我知道如何使用text()html()更改jQuery中td的文本方法。
但它会改变文本而不影响td内的控件(隐藏字段)吗?

---编辑---
我的其中一个就像

 <table id='demoTable'>
 <tr>
 <td>8: Tap on APN and Enter <B>www</B>.
     <INPUT id=h150000000000000109743 class=hid value="test value" type=hidden>
     <INPUT id=h250000000000000109743 class=hid1 value="26,222,98,10,50000000000000109744,T,~25,221,99,10,,T,www" type="hidden">
 </td>
 </tr>
 </table>

我的jquery就像这样

 function changeText() {
        $("#demoTable td").each(function () {
            for (var i = 0; i < $(this).children.length; i++) {
                alert($(this).children(i).val());
            }
            //                alert($(this).html());
            //                $(this).text("hello");
            //alert($(this).html());
        });
    }

2 个答案:

答案 0 :(得分:1)

你可以简单地做到这一点

如果您有第一个孩子作为文字内容,请获取您的table td并更改第一个子内容

var text_to_chang = document.getElementById("td").childNodes[0];
text_to_change.nodeValue = 'new text';

答案 1 :(得分:0)

将文字放在label中,然后在标签上使用text()而不是td 例如:

<td>
   <label id="lblName">krshekrar</label>
   <input type="hidden" value="1" id="UserID"/>
</td>