2014-06-26 64 views
-3

为什么我点击工作jQuery的点击()图像

的jQuery:

$(document).ready(function(){ 
    $('#slotclick').click(function(){ 
     $(this).append('<div id=\"alertfade\"><div class=\"alert\">Slotje<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
    }); 

    $('#stickyclick').click(function(){ 
     $(this).append('<div id=\"alertfade\"><div class=\"alert\">Sticky<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
    }); 
}); 

HTML:

<img src="./../../assets/images/icons/slot.png" id="slotclick"> 
<img src="./../../assets/images/icons/sticky.png" id="stickyclick"> 

当点击,它必须打开一个警告窗口,已用css做到这一点! 但是,如果我点击图像插槽或粘,它不会打开

+6

您如何将DIV追加到图像,一个没有孩子并且自闭的元素? – adeneo

+0

哦上帝'' – JJJ

+0

如果你按下X(float:right) –

回答

0

你不能做$(this).append,因为图像标签不能有任何孩子。

所以无论是在身体追加或使用.after()而不是追加图像

+0

@ adeneo谢谢,这只是我的打字错误 –

0

后,只需插入您不能<div>追加到<img>。如果您想在点击图像后添加某些内容,请将图像包装在<div>中,然后追加到该图像上。

0

这是你所需要的:

HTML:

<div id="slotDiv"> <img src="./../../assets/images/icons/slot.png" id="slotclick"> </div> 
<div id="stickyDiv"> <img src="./../../assets/images/icons/sticky.png" id="stickyclick"> </div> 

的javascript:

$(document).ready(function(){ 
$('#slotclick').click(function(){ 
    $('#slotDiv').append('<div id=\"alertfade\"><div class=\"alert\">Slotje<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
}); 

$('#stickyclick').click(function(){ 
    $('#stickyDiv').append('<div id=\"alertfade\"><div class=\"alert\">Sticky<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
    }); 
}); 
+0

他需要使用这个 – neoDev

+0

谢谢,但我如何防止换行符? –

+0

其工作方式:http://prntscr.com/3wss8s –

1

这里工作演示:

$(document).ready(function(){ 
    $('#slotclick').click(function(){ 
     $(this).after('<div id=\"alertfade\"><div class=\"alert\">Slotje<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
    }); 

    $('#stickyclick').click(function(){ 
     $(this).after('<div id=\"alertfade\"><div class=\"alert\">Sticky<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
    }); 
}); 


jsFiddle

+0

任何人都可以解释一下,代码是如何工作的?这不适合我。 – Indra

+0

@Indra - 与OP的代码完全一样,小提琴也不起作用,但我想人们喜欢酷按钮? – adeneo

+0

嗯,这是完全一样的代码,可能他忘了在编辑后更新代码,但不知道其他人是如何接受它的。 – Indra

0

你应该试试这个: -

$(document).ready(function(){ 
$('#slotclick').click(function(){ 
      $(this).after('<div id=\"alertfade\"><div class=\"alert\">Slotje<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
}); 

$('#stickyclick').click(function(){ 
      $(this).after('<div id=\"alertfade\"><div class=\"alert\">Sticky<font style=\"float:right;\"><a href=\"#\" onclick=\"window.location.reload()\">X</a></font></div></div>'); 
}); 

});

因为当你编写append时,html就像,所以你无法看到潜水,否则你的代码正在工作。