我想返回表格單元格的節點值。然而,text()方法沿着整個DOM樹進行,並返回一個所有嵌套節點的字符串(表格單元格可能包含文本和html)。一旦我提取了節點的字符串,我想修改它並將其寫回節點。修改後的文本由文本和html組成。返回節點文本(非遞歸)
是否有任何jQuery的方法(或可能是Javascript),可用於獲取文本(不降序到孩子)和另一個函數,我可以用它來回寫文本+ html(純文本()和html ()在這種情況下不起作用,因爲它們會覆蓋子節點)?
乾杯, 最大
我想返回表格單元格的節點值。然而,text()方法沿着整個DOM樹進行,並返回一個所有嵌套節點的字符串(表格單元格可能包含文本和html)。一旦我提取了節點的字符串,我想修改它並將其寫回節點。修改後的文本由文本和html組成。返回節點文本(非遞歸)
是否有任何jQuery的方法(或可能是Javascript),可用於獲取文本(不降序到孩子)和另一個函數,我可以用它來回寫文本+ html(純文本()和html ()在這種情況下不起作用,因爲它們會覆蓋子節點)?
乾杯, 最大
要想從子文本節點的文本,你可以這樣做:
var text = $('selector').contents().map(function() {
// If it is a textNode, return its nodeValue
if(this.nodeType == 3) return this.nodeValue;
}).get().join('');
我並不確切地知道你想要用文字做什麼,但如果你想在處理它時用新的文本/ html代替它,你應該可以改爲.each()
,並使用.replaceWith()
。
$('selector').contents().each(function() {
if(this.nodeType == 3) {
// do something with the text
$(this).replaceWith('new processed value');
}
});
下面是一個例子:http://jsfiddle.net/ZNjCW/
工程很棒。確切地說,我正在尋找...將它作爲jQuery的一部分很好。 – Max 2010-08-12 05:17:46
:可以先和腳本運行後舉一些例子說明標記? – prodigitalson 2010-08-12 03:58:12