如何重写Javascript If语句以选择类而不是ID';HTML格式的
我有一个可以正常工作的javascript,它并不优雅,也不笨重:如何重写Javascript If语句以选择类而不是ID';HTML格式的,javascript,jquery,html,class,optimization,Javascript,Jquery,Html,Class,Optimization,我有一个可以正常工作的javascript,它并不优雅,也不笨重: //check if certain div (with higher main id) is clicked and then run a script if (item.content.attr("id") == 'gridgallery1') { $('#grid1').grid(); // GALLERY initialisaion } if (item.content.attr("id") == 'grid
//check if certain div (with higher main id) is clicked and then run a script
if (item.content.attr("id") == 'gridgallery1') {
$('#grid1').grid(); // GALLERY initialisaion
}
if (item.content.attr("id") == 'gridgallery2') {
$('#grid2').grid(); // GALLERY initialisaion
}
if (item.content.attr("id") == 'gridgallery3') {
$('#grid3').grid(); // GALLERY initialisaion
}
附带的工作HTML代码:
<div id="gridgallery1">
<div id="grid1" data-directory="IMAGES/FIRST GALLERY"></div>
</div>
<div id="gridgallery2">
<div id="grid2" data-directory="IMAGES/SECOND GALLERY"></div>
</div>
<div id="gridgallery3">
<div id="grid3" data-directory="IMAGES/THIRDGALLERY"></div>
</div>
问题1: 假设在
item.content
中存储jQuery所选元素:
$('#grid' + item.content.attr('id').split('gridgallery')[1] ).grid();
问题2:
我不确定您想做什么,但您应该阅读一些方便的jQuery方法,例如
$('someElement')。hasClass('some-class')
返回true
或false
,您应该能够用“问题2”下显示的HTML替换if语句:
item.content.find('.grid').grid(); // GALLERY initialisaion
请参阅更新的问题2。我是否要用一行替换整个if语句?(那不行)。我认为解决方案是以“如果声明”的形式出现的。谢谢不,如果需要的话!这一行只调用grid+gridgallery后面的任何内容上的
grid()
。查看.split()
如何工作以更好地理解。谢谢,但我不清楚javascript中到底要替换哪个部分,请建议重写javascript@Sam-这是重写的JavaScript。正如我在回答中所说,您可以用这行代码替换if语句。
item.content.find('.grid').grid(); // GALLERY initialisaion