0

大家好,我只是想知道 (i, val) 在这个函数中的含义以及它传递了什么?

function boldToggler(itemid) {
    $(itemid).css("font-weight", function(i, val) {
        return val == "bold" ? "normal" : "bold";
    });
}

任何帮助将不胜感激!

4

4 回答 4

2

在 的情况下.css(), function(index, value):

返回要设置的值的函数。这是当前元素。接收集合中元素的索引位置和旧值作为参数。

你可以在这里找到:http: //api.jquery.com/css/

于 2012-09-06T11:22:56.213 回答
2

来自.css( propertyName, function(index, value)

function(index, value) - 返回要设置的值的函数。这是当前元素。接收集合中元素的索引位置和旧值作为参数。

例如,假设您有以下 HTML:

<div style="font-weight: normal" />
<div style="font-weight: bold" />

你执行:

$("div").css("font-weight", function(i, val) {
    return val == "bold" ? "normal" : "bold";
});

function(i, val)将为每个div元素执行一次。在第一次执行中,i将为 0,并且valfont-weight属性的旧值,即normal. 在第二个中,i将是 1,并且valfont-weight属性的旧值,即bold

于 2012-09-06T11:23:02.087 回答
1

请参阅文档摘录:

.css( propertyName, function(index, value) )

function(index, value)

返回要设置的值的函数。这是当前元素。接收集合中元素的索引位置和旧值作为参数。

于 2012-09-06T11:23:08.617 回答
0

i and val are parameters.

You can see that function has no name - that means that the value is function itself - http://en.wikipedia.org/wiki/Closure_(computer_science). http://en.wikipedia.org/wiki/Map_(higher-order_function)

Since it is starting with "$" i think it is jQuery. Look jQuery docs for css method - which values does it pass to finction.

That method would call the function over each element it has (here would be the only one with given ID, but it can be "all elements with class given" or such) and use the result.

于 2012-09-06T11:28:02.237 回答