4

html

<p>This is a <b>bold</b> paragraph.</p>
<button>Add</button>

jQuery

$("button").click(function(){
    $("p").text(function(i,origText){
      return "Old text: " + origText + " New text: Hello world! (index: " + i + ")"; 
    });
  });

我想知道origText没有在函数外部调用,但它正在返回值。如何?

演示

4

4 回答 4

2

正如文档所说

功能(索引,文本)

返回要设置的文本内容的函数。接收集合中元素的索引位置和旧文本值作为参数。

jQuery 的 .text() 在内部是如何工作的

于 2013-07-17T12:01:00.427 回答
2

实际方法text将函数作为参数。传递给的函数text可能包含两个参数,第一个接收索引,第二个接收原始文本。

于 2013-07-17T12:01:24.057 回答
0

简单来说:

text(function(whatever){
      return whatever; // returns the text what is the text it has.
    });

在您的示例中p有 text :这是一个粗体段落。

返回将返回您的文本的任何内容:这是一个粗体段落。

于 2013-07-17T12:07:46.187 回答
0

函数text对输入节点进行一些准备,然后运行用户(您的函数)提供的回调,并将这两个参数(在“一些准备”中准备)传递给您的回调。如果你想要准确的代码,你可以阅读 jQuery 源代码。

于 2013-07-17T12:03:13.080 回答