Javascript 遍历DOM树jquery
一个相当简单的遍历,我似乎无法理解 基本上,如果有人点击Javascript 遍历DOM树jquery,javascript,jquery,Javascript,Jquery,一个相当简单的遍历,我似乎无法理解 基本上,如果有人点击,而我想更改第一个div中的图像,我该怎么做呢?尝试了一些事情,包括: $(this).closest('.currentImage img') 尝试查找父元素.imagesslider元素,然后查找其子元素.currentImage元素 $('.thumbnails li').click(function(e){ e.preventDefault(); var newImage = $(this).children('i
,而我想更改第一个div中的图像,我该怎么做呢?尝试了一些事情,包括:
$(this).closest('.currentImage img')
尝试查找父元素.imagesslider
元素,然后查找其子元素.currentImage
元素
$('.thumbnails li').click(function(e){
e.preventDefault();
var newImage = $(this).children('img').attr('src');
var $image = $(this).parents('.imageSlider').find('.currentImage img');
console.log(newImage);
$image.fadeOut(500, function() {
$image.attr('src', newImage);
}).fadeIn(500);
});
另一个选项是
$(this).parent('ul')。同胞('.currentImage')。find('img')
该选择器不完全正确.currentImage
是当前元素父元素的同级(即.thumbnails
),因此最近的()
将永远找不到它。是的,很简单。;)那么,为什么我做了$(this).parent('.imageSlider.currentImage img')
它不起作用呢?首先,你需要在.imageSlider
和.currentImage
之间留一个空格。没有空格意味着它们是同一个元素,即两个类都是一个元素。其次,$(this).parent(选择器)
查找$(this)
元素的直接父元素,但仅当它与选择器匹配时才返回它。$(this)
的直接父元素是
元素。第三,$(this).parents(selector)
从直接父元素开始,然后获取该元素的父元素,并以此方式递归,直到找到与选择器匹配的元素,这将永远不会发生,因为.currentImage
不是
元素的父元素。是,抱歉…回家过夜,因为15分钟的时间而忘记接受。$(this).parent().prev().children('img')或simple在变量中引用包装器(图像滑块),以便将其用作根选择器
$('.thumbnails li').click(function(e){
e.preventDefault();
var newImage = $(this).children('img').attr('src');
var $image = $(this).closest('.currentImage img');
$image.fadeOut(500, function() {
$image.attr('src', newImage);
}).fadeIn(500);
});
$('.thumbnails li').click(function(e){
e.preventDefault();
var newImage = $(this).children('img').attr('src');
var $image = $(this).parents('.imageSlider').find('.currentImage img');
console.log(newImage);
$image.fadeOut(500, function() {
$image.attr('src', newImage);
}).fadeIn(500);
});