我的情况是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());
});
}
答案 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>