给定以下选择器数组(每个都display: none
在我们的 css 中)和 for 循环:
var arr = ['#home', '#news', '#tidy'];
for (i=0;i<=arr.length;i++){
$(arr[i]).toggle();
}
使用 $.each (大概是 $(this) )的等价物是什么?
编辑
好的,我理解使用加入:
var s = arr.join();
$(s).toggle();
我没有意识到“像许多其他 jQuery 方法一样切换在内部调用每个方法,所以不需要使用每个方法”所以 +1 给你@undefined,但是......
这个问题是最初提出的,因为即使我:
$.each(arr, function(){
$(this).text("my id is " + this + ".");
});
我收到未定义的(!)错误。(公平地说,有 .toggle 和 .insertAfter 等,我试图简化)为什么以上不等同于:
$('#home').text('my id is #home.');
$('#news').text('my id is #news.');
$('#tidy').text('my id is #tidy.');
?
编辑 2
好的,这是一个语法问题 -$(this)
需要一个前置'' +
:
$('' + this).text('My id is ' + this + '.')
是否有关于何时$(this)
需要这种治疗的规定?