我有这个HTML。
<td>
Line 1
<div id="foobar">Foobar</div>
</td>
如何在不替换/覆盖#foobar
元素的情况下将第1行更改为第2行?
答案 0 :(得分:2)
var abcd= document.getElementsByTagName('td');
var newabcd = abcd.childNodes[0];
newText.nodeValue = 'Line 2 ';
<td>
Line 1
<div id="foobar">Foobar</div>
</td>
答案 1 :(得分:1)
您可以使用jQuery detach()
方法执行此操作。
var div = $('#foobar').detach();
$('td').html(div).prepend('Line 2');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>
Line 1
<div id="foobar">Foobar</div>
</td>
</tr>
</table>
&#13;
答案 2 :(得分:0)
我认为您无法直接编辑<td></td>
标记的内容。两种解决方案:
1使用<span></span>
或<p></p>
标记将第1行打包以识别它
2提取<td></td>
的全部内容,并使用正则表达式从中提取div并将其与新文本合并。
答案 3 :(得分:0)
首先提取标签 <span>
的内容然后你可以重写 <span>
的父标签并附加第一个值,如果你想从按钮触发这个简单的添加{{1你的按钮或链接
onclick="replace_content()"
function replace_content(){
var foo=$("#foobar").html();
$("#foobar").parent().html("Line 2"+foo);
}
&#13;
function replace_content(){
var foo=$("#foobar").html();
$("#foobar").parent().html("Line 2 "+foo);
}
&#13;