jquery/javascript如何在集合中使用$。每个
我需要一些关于jQuery代码的帮助。下面的代码运行良好,但我尝试使用$.each,但它不起作用jquery/javascript如何在集合中使用$。每个,javascript,jquery,Javascript,Jquery,我需要一些关于jQuery代码的帮助。下面的代码运行良好,但我尝试使用$.each,但它不起作用 $(document).ready( function(){ $('#pull').click( function(event){ event.stopPropagation(); $('#pf').slideToggle(); }); $('#pullo').click( function(event){ event.st
$(document).ready( function(){
$('#pull').click( function(event){
event.stopPropagation();
$('#pf').slideToggle();
});
$('#pullo').click( function(event){
event.stopPropagation();
$('#pt').slideToggle();
});
$('#pullc').click( function(event){
event.stopPropagation();
$('#pc').slideToggle();
});
$(document).click( function(){
$('#pt').hide();
$('#pf').hide();
$('#pc').hide();
});
});
下面的代码对我无效,请帮助
var pul = ["#pull":"#pt","#pullo":"#pf", "#pullc":"#pc"];
$(document).ready( function(){
$.each(pul, function(i, v){
$(i).click( function(event){
event.stopPropagation();
$(v).slideToggle();
});
$(document).click(function(){
$(v).hide();
});
});
});
试试这个
var pul = {"#pull":"#pt","#pullo":"#pf", "#pullc":"#pc"};
$(document).ready( function(){
$.each(pul, function(i, v){
$(i).click( function(event){
event.stopPropagation();
$(v).slideToggle();
});
$(document).click(function(){
$(v).hide();
});
});
});
使集合对象而不是数组:
有两种方法可以解决这个问题。将阵列设置为二维阵列:
var pul = [
["#pull", "#pt"],
["#pullo", "#pf"],
["#pullc", "#pc"]];
您可以执行$(v[0])。单击(…
而不是$(i)。单击(…
)和$(v[1])。隐藏();
而不是$(v)。隐藏();
或者,您可以将其转换为其他人建议的对象:
var pul = {"#pull":"#pt","#pullo":"#pf", "#pullc":"#pc"};
现在,您有一个无效的对象和一个无效的数组。看起来您的数组语法无效。您应该为对象使用大括号(“关联”数组)。你的
pul
数组应该是一个对象,这是无效的JavaScript。你似乎想重构脚本。你能发布HTML吗?它看起来也像是你把#pt
和#pf
搞混了。请注意,当你点击文档
时,你所有的元素都会.hide()
。谢谢,它现在可以工作了。语法错误应该使用{}而不是[]:)$(''+i)
可以是$(i)
。无需将其“转换”为字符串。谢谢,它现在可以工作了。语法错误应该使用{}而不是[]:)我将其转换为有效对象,现在可以工作了。非常感谢。
var pul = {"#pull":"#pt","#pullo":"#pf", "#pullc":"#pc"};