2013-07-17 50 views
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不叫外面的功能,但它返回的值。怎么样?

demo

+2

潜入jQuery的源代码! – 2013-07-17 11:58:42

回答

2

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

+0

text()函数必须包含两个参数? –

+0

将*传递给text方法的函数可能包含两个参数,在您的情况下为i和origText。 – Plymouth223

+0

@ C-Link No.不一定。请参阅文档中的其他方法。您可以将其与各种参数一起使用。 –

0

功能text做了一些关于输入节点的准备,然后运行由用户(你的函数)提供的回调函数,并且它传递给你的回调这两个参数(在“某些准备工作”上准备的)步骤。如果你想确切的代码,你可以阅读jQuery源码。

0

简单:

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

在您的例子p具有文本:这是一个大胆的段落。

返回任何会返回您的文本:这是一个大胆的段落。