我想用jQuery .hide()
隐藏我的第二张图片,但该方法在某些情况下无效。
这是我的代码:
的jQuery
var one = $('ul li > img')[0];
var two = $('ul li img')[1];
var three = $('ul li img')[2];
$(two).on('click', function(){
alert('working');
});
two.hide();
HTML
<ul>
<li><img src="http://img.pixland.uz/u13301f281573m.jpg" alt=""></li>
<li><img src="http://img.pixland.uz/u13301f281573m.jpg" alt=""></li>
<li><img src="http://img.pixland.uz/u13301f281573m.jpg" alt=""></li>
</ul>
答案 0 :(得分:8)
$('ul li img')[1]
是一个DOM对象,而不是一个jQuery对象,所以它没有.hide()
方法。
您可以使用:
$('ul li img').eq(1)
相反,如果你想要一个jQuery对象。
整个代码块看起来像这样:
var one = $('ul li > img').eq(0);
var two = $('ul li img').eq(1);
var three = $('ul li img').eq(2);
two.on('click', function(){
alert('working');
});
two.hide();
答案 1 :(得分:1)
名为two
的对象不是 jQuery 对象,它只是一个简单的 DOM 对象。你应该这样做:
var one = $('ul li > img')[0];
var two = $('ul li img')[1];
var three = $('ul li img')[2];
$(two).on('click', function(){
alert('working');
});
$(two).hide();
或做:
var one = $('ul li > img').eq(0);
var two = $('ul li img').eq(1);
var three = $('ul li img').eq(2);
$(two).on('click', function(){
alert('working');
});
two.hide();
答案 2 :(得分:1)
试试这个:
var one = $('ul li > img')[0];
var two = $('ul li img')[1];
var three = $('ul li img')[2];
$(two).on('click', function(){
alert('working');
$(two).hide();
});
答案 3 :(得分:0)
您需要更改代码的所有内容是two.hide()到$ {two} .hide()
答案 4 :(得分:0)
var one = $('ul li:eq(0) img');
var two = $('ul li:eq(1) img');
var three = $('ul li:eq(2) img');