Javascript 将onclick change image附加到无id标签的可变img金额
因此,如果图像上有id标签,我就知道如何做到这一点,没有问题,但我不知道没有id标签怎么做 我想点击一个缩略图,并有大图片的变化 问题:Javascript 将onclick change image附加到无id标签的可变img金额,javascript,jquery,html,Javascript,Jquery,Html,因此,如果图像上有id标签,我就知道如何做到这一点,没有问题,但我不知道没有id标签怎么做 我想点击一个缩略图,并有大图片的变化 问题: 图像的数量各不相同,因此我希望能找到一种将点击事件附加到所有元素的方法 这些图像没有id标签 我不能仅通过javascript和jquery直接编辑html 主要图片: <div id="IDX-primaryPhoto" class="IDX-detailsPhotoWrap"> <a href=""> <img
<div id="IDX-primaryPhoto" class="IDX-detailsPhotoWrap">
<a href="">
<img src="CAT9536786.jpg" id="IDX-detailsPhoto">
</a>
</div>
缩略图:
<div id="IDX-detailsShowcase">
<div class="IDX-showcaseSlide" id="IDX-detailsImage1">
<div class="IDX-showcaseContent">
<img alt="Property Photo" src="CAT9536786.jpg" class="IDX-detailsShowcaseImage">
</div>
</div>
<div class="IDX-showcaseSlide" id="IDX-detailsImage2">
<div class="IDX-showcaseContent">
<img alt="Property Photo" src="CAT9536786A.jpg" class="IDX-detailsShowcaseImage">
</div>
</div>
</div>
附加事件处理程序或使用任何jQuery函数都不需要id,jQuery提供了一个可以使用和组合以获得所需元素的id。在您的情况下,您的图像已经有一个类,因此请使用类选择器:
$('.IDX-detailsShowcaseImage').click(your_function);
您不需要id来附加事件处理程序或使用任何jQuery函数,jQuery提供了一个可以使用和组合以获得所需元素的id。在您的情况下,您的图像已经有一个类,因此请使用类选择器:
$('.IDX-detailsShowcaseImage').click(your_function);
在jQuery中,单击“附加到所有图像”,如下所示:
$(document).on("click", ".IDX-detailsShowcaseImage img", function(){
var img_src = $(this).attr('src')
//your code here
});
因此,您可以动态创建
元素,并且仍然响应所有单击事件,并使用jQuery中的$(此)
访问触发事件的元素单击后附加到所有图像,如下所示:
$(document).on("click", ".IDX-detailsShowcaseImage img", function(){
var img_src = $(this).attr('src')
//your code here
});
因此,您可以动态创建
元素,并且仍然响应所有单击事件,并使用$(this)
访问触发事件的元素。您可以使用jQuery选择器选择特定类/id的所有子元素
$(".IDX-showcaseSlide img").click(function);
您可以使用jQuery选择器选择特定类/id的所有子元素
$(".IDX-showcaseSlide img").click(function);
这是我按照OP的要求给出的答案
你的缩略图有等级。您可以将其用作jquery选择器
$('.IDX detailsShowcaseImage')
因此:
$('.IDX-detailsShowcaseImage').click(function () {
var href = $(this).prop('src'); //grab the src of the thumbnail
$('#IDX-detailsPhoto').prop('src', href); //set it as the big image
});
这是我按照OP的要求回答的问题
你的缩略图有等级。您可以将其用作jquery选择器
$('.IDX detailsShowcaseImage')
因此:
$('.IDX-detailsShowcaseImage').click(function () {
var href = $(this).prop('src'); //grab the src of the thumbnail
$('#IDX-detailsPhoto').prop('src', href); //set it as the big image
});
这不使用id,适用于所有详细信息图像:
$(".IDX-detailsShowcaseImage").click(function(arg) {
$(".IDX-detailsPhotoWrap img").attr('src', $(arg.target).attr('src'));
});
这不使用id,适用于所有详细信息图像:
$(".IDX-detailsShowcaseImage").click(function(arg) {
$(".IDX-detailsPhotoWrap img").attr('src', $(arg.target).attr('src'));
});
谢谢你的JSFIDLE。你的缩略图很有吸引力。您可以将其用作jquery选择器<代码>$('.IDX detailsShowcaseImage')@pedrostrada将其作为工作示例的答案+1。感谢JSFIDLE。您的缩略图有一个类。您可以将其用作jquery选择器<代码>$('.IDX detailsShowcaseImage')@pedrostrada写下,作为工作示例的答案+1,我在页面上还有其他图像,但我忘记了mention@tman“无忧”修改了答案以包含类选择器。@tman看到您询问如何访问
src
属性,在回答中也添加了这一点。我在页面上还有其他图片,我忘记了mention@tman“无忧”修改了答案以包含类选择器。@tman看到您询问如何访问src
属性,并将其添加到了答案中。这样我就可以将源代码传递到主映像$(this).src没错,在处理函数中,$(this)
将引用单击的图像的jQuery对象,这样我就可以将源代码传递给主图像$(this).src没错,在处理程序函数中,$(this)
将引用被单击的图像的jQuery对象,使该JSFIDLE成为linklol。。。。嘿@pedrostrada知道这里出了什么问题吗@tman看起来像。prop()
不是jquery库中的方法。。。试着使用attr()
@tman,不要在jsfidle中使用
等标记。对于脚本,请使用“资源”选项。我删除了这些,正在工作。。。再一次。jQuery声明的两个都可能是罪魁祸首。@Braiam我在页面上试用了它,然后才将其放入JSFIDLE中,但它没有起作用。尽管我现在已经开始使用了,但不用担心!让JSFIDLE成为链接LOL。。。。嘿@pedrostrada知道这里出了什么问题吗@tman看起来像。prop()
不是jquery库中的方法。。。试着使用attr()
@tman,不要在jsfidle中使用
等标记。对于脚本,请使用“资源”选项。我删除了这些,正在工作。。。再一次。jQuery声明的两个都可能是罪魁祸首。@Braiam我在页面上试用了它,然后才将其放入JSFIDLE中,但它没有起作用。尽管我现在已经开始使用了,但不用担心!