我很快尝试在jQuery的源代码中找到实现,但是只发现了
this,实际上并没有完全定义它.
从jQuery源
jQuery.fn.extend({ text: function( text ) { if ( jQuery.isFunction(text) ) { return this.each(function() { return jQuery(this).text( text.call(this) ); }); } if ( typeof text !== "object" && text !== undefined ) { return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); } return jQuery.getText( this ); },
有人知道吗
澄清:
我知道如何使用它.当jQuery不可用时,我只想知道如何获取元素àla jQuery的文本.
解决方法
jQuery.fn.text可以用于3种不同的用途,因为您粘贴的源清楚地显示.您正在寻找的是第三个 – 返回元素的文本值.
jQuery使用jQuery.text()方法来获取元素的文本值,jQuery.text指向Sizzle.getText()
jQuery.text = Sizzle.getText;
这里是getText函数的定义.
// Utility function for retreiving the text value of an array of DOM nodes Sizzle.getText = function( elems ) { var ret = "",elem; for ( var i = 0; elems[i]; i++ ) { elem = elems[i]; // Get the text from text nodes and CDATA nodes if ( elem.nodeType === 3 || elem.nodeType === 4 ) { ret += elem.nodeValue; // Traverse everything else,except comment nodes } else if ( elem.nodeType !== 8 ) { ret += Sizzle.getText( elem.childNodes ); } } return ret; };