我一直在努力弄清楚为什么我的代码无法正常工作。 我正在研究游戏扫雷的浏览器实现,并且在单击元素时尝试将图像隐藏()。 我的html如下......
<img id="61" class="reveal" width="30px" height="30px" style="position:absolute;" src="img/tile.ico">
我的jquery看起来像这样......
$( document ).ready(function() {
$(".reveal").click(function(){
$(this).attr("id").hide();
});
});
问题似乎是我试图使用$(this).attr(“id”)来获取元素id。
答案 0 :(得分:2)
除非您尝试定位其他元素,否则只需隐藏this
(这将是点击的class="reveal"
元素):
$( document ).ready(function() {
$(".reveal").click(function(){
$(this).hide();
});
});
您的代码存在的问题是attr
会返回一个字符串,然后您尝试在hide()
上运行该字符串:)
注意:更好的DOM就绪快捷方式就是:
$(function() {
$(".reveal").click(function(){
$(this).hide();
});
});
答案 1 :(得分:1)
您尝试使用attr(&#39; id&#39;)隐藏属性,而不是图片。使用:
$( document ).ready(function() {
$(".reveal").click(function(){
$(this).hide();
});
});
隐藏图片。