在处理事件时,如何使用特定类来定位元素?

时间:2016-02-16 05:54:21

标签: javascript jquery

JQuery的新手,还在学习......

单击图像时,下面的脚本会交换div的类。如何隔离图像,以便只有类型为.thumbnail的图像才会触发脚本?

< script >

  $(document).ready(function(){
    $("img").click(function(e) {
      var newclass = $(this).attr("class");
      var oldclass = $("#fullsize").attr('class');
      $("#fullsize").removeClass(oldclass).addClass(newclass);
    })
  }); 

< /script>

3 个答案:

答案 0 :(得分:1)

$("img.thumbnail ").click(function(e) { // add the class along with the img selector
  var newclass = $(this).attr("id");
  var oldclass = $("#fullsize").attr('class');
  $("#fullsize").removeClass(oldclass).addClass(newclass);
})

This link可以帮助您理解jQuery中的不同选择器

答案 1 :(得分:1)

$('img')将选择您文档中的所有img。

$('img.thumbnail')将选择文档中包含thumbnail类的所有img。

您只需更换class属性即可合并removeClass addClass操作。

$('img.thumbnail').click(function(e) {
    var newclass = $(this).attr('id');
    var oldclass = $('#fullsize').attr('class');
    $('#fullsize').attr('class',newClass); // Note: No need to removeClass and then addClass. Simply Replace the value of class attribute.
});

答案 2 :(得分:0)

你可以这样做

<script>
 $(document).ready(function() {       
   $("img.thumbnail").click(function(e) {           
     var newclass = $(this).attr("id");               
     var oldclass = $("#fullsize").attr('class');  
     $("#fullsize").removeClass(oldclass).addClass(newclass);  
   });                  
});
</script>