我有以下代码可以正常工作:
$(function mvp() {
var theMvp = ['#mvpWtd', '#mvpStd'];
$.each(theMvp, function (index, value) {
$(value + ' .budTySales').hide();
$(value + ' .lySales').hide();
$(value + ' .budReceipts').hide();
$(value + ' .lyReceipts').hide();
});
})
根据jquery文档,我应该能够传递多个元素,然后是逗号,而不是逐行传递(代码也少!)。我尝试将我的代码更改为下面但它失败了......
$(function mvp() {
var theMvp = ['#mvpWtd', '#mvpStd'];
$.each(theMvp, function (index, value) {
$(value + ' .budTySales',value + ' .lySales',value + ' .budReceipts',value + ' .lyReceipts').hide();
});
})
答案 0 :(得分:6)
这一行:
$(value + ' .budTySales',value + ' .lySales',value + ' .budReceipts',value + ' .lyReceipts').hide();
应该是:
$(value + ' .budTySales,' + value + ' .lySales,' + value + ' .budReceipts,' + value + ' .lyReceipts').hide();
请注意,逗号在引号内。这是因为jQuery需要将一个参数传递给它,而不是多个,这就是你正在做的事情。
答案 1 :(得分:2)
如评论中所述,逗号应该是字符串的一部分。
$(value + ' .budTySales, ' + value + ' .lySales, ' + value + ' .budReceipts, '+ value + ' .lyReceipts').hide();
应该有效