这似乎很简单..但是我对jquery有点愚蠢,也许我正在做一些愚蠢的错事?
我想点击图片,然后点击该图片,隐藏其旁边的另一张图片。
<script type="text/javascript">
$("#butShowMeSomeUnits").click(function() {
$('#arrowUnitspic').hide();
});
</script>
根据两张图片,Id是正确的。我错过了什么?调试它,代码永远不会被解雇......
由于
编辑我将我的控件作为asp主页上的嵌套控件,并且其id正在被重写。我现在已经修复了id,但我仍然无法获得任何快乐......我也看到我的标记被渲染为“输入”,这会有所作为吗?
<head>
<script src="js/jquery.min.1.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#butShowMeSomeUnits").click(function () {
$('#arrowUnitspic').hide();
});
});
</script>
</head>
<body>
<input type="image" src="bookings_media/buttons/show-me-some-units.png" onmouseout="this.src='bookings_media/buttons/show-me-some-units.png'" onmouseover="this.src='bookings_media/buttons/show-me-some-units_orange.png'" id="butShowMeSomeUnits" name="ctl00$ctl00$ContentPlaceHolder1$bookings_right_content$butShowMeSomeUnits">
</body>
EDIT JS Fiddle
如果有任何混淆...... JS小提琴我用假的代码拼凑起来也行不通......
答案 0 :(得分:2)
您需要在页面准备就绪时执行此操作:
<script type="text/javascript">
$(document).ready(function() {
$("#butShowMeSomeUnits").click(function() {
$('#arrowUnitspic').hide();
});
});
</script>
编辑: 在我从下拉列表中选择jQuery 1.10.1之前,你提供的小提琴不起作用。您会注意到您的onmouseover首先更改元素,但是一旦您单击输入它就会隐藏图像。你能否证实这对你有效?
如果答案是否定的,那么我认为您不会在页面上加载jQuery库。要检查这一点应该有效:
if (typeof jQuery != 'undefined') {
alert("jQuery library is loaded!");
}else{
alert("jQuery library is not found!");
}
此外,查看浏览器控制台/开发工具显示的错误可能会有所帮助。
答案 1 :(得分:1)
将代码包装在jQuery.ready()事件中。并检查是否加载了jquery js文件。
$(document).ready(function(){
$("#butShowMeSomeUnits").click(function() {
$('#arrowUnitspic').hide();
});
});
答案 2 :(得分:0)
您的代码看起来不错,可以查看 here
你可能会错过的是:
$(document).ready(function() { //code here });
代码位于页面代码中的脚本之后,则<img>
。这是在页面准备好/加载时加载代码的。答案 3 :(得分:0)
可能对您有帮助的步骤:
$("html").hide();
并查看当前页面是否消失)使用jQuery的非常好的起点是将所有内容放在$(document).ready()
中,如下例所示:
(文档)$。就绪(函数(){ $( “IMG”)。点击(函数(){ $( “IMG”)的hide()。 $(本).show(); }); });