我有一个td
格式:
<td>
Business Owner - Delivery Director <br>
<a href="mailto:me@business.com">me@business.com</a>
</td>
我怎样才能用其他内容替换文本"Business Owner - Delivery Director"
?
使用this.text()会抓取Business Owner - Delivery Director
和me@business.com
,但我只想要
Business Owner - Delivery Director.
答案 0 :(得分:6)
您可以使用childNodes
属性选择第一个文本节点并更改其值:
$('td')[0].childNodes[0].nodeValue = "New content";
答案 1 :(得分:2)
使用.contents()
获取文本节点(使用CharacterData
interface),然后操纵其内容:
$("td").contents()[0].data = "Businees Owner (CEO)";
答案 2 :(得分:1)
使用 结构,你必须使用split
进行字符串操作:
var td = $("selector_for_the_td_element");
var text = td.html().split("<br>");
text[0] = "new content";
td.html(text.join("<br>"));
...或使用indexOf
和substring
:
var td = $("selector_for_the_td_element");
var text = td.html();
var index = text.indexOf("<br>");
text = "new content" + text.substring(index);
td.html(text);
现在,如果您可以将HTML结构更改为:
<td>
<span>Business Owner - Delivery Director</span><br>
<a href="mailto:me@business.com">me@business.com</a>
</td>
......它变得容易多了:
$("selector_for_the_td_element > span").text("new content");
答案 3 :(得分:-1)
如果html结构正是您发布的内容,您可以这样实现:
this.childNodes[0].nodeValue = 'hello'; //this is the td element