Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 将ID的可变部分与js一起使用_Javascript_Jquery - Fatal编程技术网

Javascript 将ID的可变部分与js一起使用

Javascript 将ID的可变部分与js一起使用,javascript,jquery,Javascript,Jquery,我有一张8个部门的名单:#视频1,#视频2。。。单击时,每个javascript操作都要运行相同的javascript操作,但要使用其他id(对于#video1:show#image1,#preview1,…) 我可以用其他id编写8次相同的代码,而不是编写8次相同的代码,这样做效率更高吗?单击时是否可以将每个#videoX中的第六个字符(数字)作为变量,并使用 这在代码中?使用类名。这样,它完全独立于ID <div class="videoClick" id="...">...&l

我有一张8个部门的名单:#视频1,#视频2。。。单击时,每个javascript操作都要运行相同的javascript操作,但要使用其他id(对于#video1:show#image1,#preview1,…)

我可以用其他id编写8次相同的代码,而不是编写8次相同的代码,这样做效率更高吗?单击时是否可以将每个#videoX中的第六个字符(数字)作为变量,并使用
这在代码中?

使用类名。这样,它完全独立于ID

<div class="videoClick" id="...">...</div>

改用类名。这样,它完全独立于ID

<div class="videoClick" id="...">...</div>

在事件处理程序中,您可以提取数字,例如使用:

然后使用它创建其他元素的ID:

var image_id = "image" + id,
    preview_id = "preview" + id;

另一个选项是分配给元素并使用它们存储ID的数字部分。

在事件处理程序中,您可以提取数字,例如使用:

然后使用它创建其他元素的ID:

var image_id = "image" + id,
    preview_id = "preview" + id;
另一个选项是分配给元素并使用它们存储ID的数字部分。

是,您可以:

$("div[id*='video']").click(function() {
   var numid = $(this).attr("id").replace("video", "");
   alert(numid);
   //...use your numid value
});
检查。

是您可以:

$("div[id*='video']").click(function() {
   var numid = $(this).attr("id").replace("video", "");
   alert(numid);
   //...use your numid value
});
检查。

试试这个

var ids = [#video1, #video2, #video3, #video4, #video5, #video6, #video7, #video8];

$(ids.join(",")).click(function(){
    var imageId = this.id.replace("video", "image");
    var previewId = this.id.replace("video", "preview");
    $("#"+imageId).show();
    $("#"+previewId).show();

});
试试这个

var ids = [#video1, #video2, #video3, #video4, #video5, #video6, #video7, #video8];

$(ids.join(",")).click(function(){
    var imageId = this.id.replace("video", "image");
    var previewId = this.id.replace("video", "preview");
    $("#"+imageId).show();
    $("#"+previewId).show();

});

但我希望它们分开运行,而不是同时运行。它们是分开运行的。单击处理程序响应一次特定的单击。您可以通过查看元素的ID来确定在one函数中单击了哪一个。但我希望它们单独运行,而不是同时运行。它们确实单独运行。单击处理程序响应一次特定的单击。您可以通过查看元素的ID来确定在one函数中单击了哪一个。数据属性的ID为+1,这是唯一正确的方式。数据属性的ID为+1,这是唯一正确的方式。