0

私は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 Directorme@business.com、とがフェッチされますが、必要なのは Business Owner - Delivery Director.

4

4 に答える 4

6

このプロパティを使用してchildNodes、最初のテキストノードを選択し、その値を変更できます。

$('td')[0].childNodes[0].nodeValue = "New content";

これがデモンストレーションです:http://jsfiddle.net/dpyNy/

于 2012-12-07T09:53:58.407 に答える
2

(インターフェイスを使用.contents()して)テキストノードを取得し、そのコンテンツを操作するために使用します。CharacterData

$("td").contents()[0].data = "Businees Owner (CEO)";

jsfiddle.netでのデモ

于 2012-12-07T09:54:13.067 に答える
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");
于 2012-12-07T09:53:07.267 に答える
-1

html構造が正確に投稿したものである場合は、次のように実現できます。

this.childNodes[0].nodeValue = 'hello'; //this is the td element
于 2012-12-07T09:59:59.033 に答える