是否有可能在内部输入时更改所有td的innerhtml,我的意思是获取输入的值并将其应用于它的td innerhtml,例如,这里是表及其输入内部:
<table>
<tr>
<td><input value="test" /></td>
<td>123</td>
</tr>
</table>
将其改为:
<table>
<tr>
<td>test</td>
<td>123</td>
</tr>
</table>
对于所有td和输入值而不应用id和类?!请注意td innerhtml没有改变:)谢谢大家的帮助! ;)
答案 0 :(得分:5)
这很简单。
首先命名您的表(以便轻松找到它)。
<table id="the_table">
<tr>
<td><input value="test" /></td>
</tr>
</table>
然后你可以这样做:
$('#the_table td input[type="text"]').each(function() {
var val = $(this).val();
$(this).parent('td').html(val);
});
查找此特定表格中<td>
内的所有输入。
每个输入:
2.1从输入中检索值
2.2查找作为<td>
标记的输入的第一个父级并将其innerHTML
设置为该值
答案 1 :(得分:4)
是的,你可以这样做:
$('table td:has(:input:only-child)').each(function () {
$(this).html($(':input', this).val());
});
假设input
中只有td
。如果不是这种情况,请删除:only-child
。
table td:has(:input:only-child)
它说,在td
中选择table
,input
为唯一的孩子。
您可以在此处进行测试:http://jsfiddle.net/eydtw/
更新:取input
而非hidden
。
$('table td:has(input[type!="hidden"])').each(function () {
$(this).html($('input[type!="hidden"]', this).val());
});
或:选择input
text
。
$('table td:has(input:text)').each(function () {
$(this).html($('input:text', this).val());
});
答案 2 :(得分:1)
$.each($('table td'),function(){
if($(this).children().length !=0)
{
var temp = $($(this).children()[0]).val();
$(this).html(temp);
}
})