use*_*771 5 javascript syntax jquery
我遇到了这行代码,我无法弄清楚这意味着什么:
$("#theAppContainer")[s > u ? "addClass" : "removeClass"]("something");
Run Code Online (Sandbox Code Playgroud)
我理解第一部分是选择名为theAppContainer的元素,如果s> u,第二部分评估为"addClass",但我无法弄清楚这行代码总体上做了什么.
Ry-*_*Ry- 13
括号语法按名称获取属性的值,括号调用作为该属性值的函数.它相当于:
var container = $('#theAppContainer');
if(s > u) {
container.addClass('something');
} else {
container.removeClass('something');
}
Run Code Online (Sandbox Code Playgroud)
此外,请永远不要写那样的代码.=)
另外,还可以使用toggleClass第二个switch参数:
$('#theAppContainer').toggleClass('something', s > u);
Run Code Online (Sandbox Code Playgroud)
$("#theAppContainer") 返回一个jquery对象.
jqueryObject["addClass"] 是的同义词 jqueryObject.addClass
因此,jqueryObject["addClass"]返回jquery对象上的addClass方法.
然后("something")用于将参数传递到并执行该方法.
所以你基本上在做
var myJqueryObject = $("#theAppContainer");
if(s > u) {
myJqueryObject.addClass("something");
}
else {
myJqueryObject.removeClass("something");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
879 次 |
| 最近记录: |