Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重写Javascript If语句以选择类而不是ID';HTML格式的_Javascript_Jquery_Html_Class_Optimization - Fatal编程技术网

如何重写Javascript If语句以选择类而不是ID';HTML格式的

如何重写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

我有一个可以正常工作的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") == '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