Jquery不起作用,但我想一切都好
Jquery dont work but i guess everything is ok
我有这段代码,用来做一个基本的幻灯片
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<script type="text/javascript">
function Slider()
{
$(".slider#1").show("fade",500);
}
</script>
比我有这个div:
<div class="slider">
<img id="1" src="images/pic1.jpg" border="0" alt="Image"/>
<img id="2" src="images/pic1.jpg" border="0" alt="Image"/>
<img id="3" src="images/pic1.jpg" border="0" alt="Image"/>
</div>
我在body中也有onload,以便在body加载时执行jquery功能:
<body onload="Slider()">
但什么都没发生,会发生什么错误?
CSS ID不能以数字开头
您不能用数字来启动CSS ID,请参阅此处:http://css-tricks.com/ids-cannot-start-with-a-number/
您正在选择子元素
您正在选择.slider
的子元素,因此需要.slider #i1
,请参见此处:http://api.jquery.com/descendant-selector/
$(文档)就绪
最好使用$(document).ready(function(){});
而不是<body onload="Slider()">
,请参阅此处:onload()和$.ready之间的区别?
您的代码
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>
<script>
function Slider()
{
$(".slider #i1").show("fade",500);
}
$(document).ready(function(){
Slider();
});
</script>
<div class="slider">
<img id="i1" src="images/pic1.jpg" border="0" alt="Image"/>
<img id="i2" src="images/pic1.jpg" border="0" alt="Image"/>
<img id="i3" src="images/pic1.jpg" border="0" alt="Image"/>
</div>
尝试$(".slider #1").show("fade",500);
因此,在.slider和#1之间现在有一个空格,意思是:在中查找id为'1'的元素,这就是您想要的类"slider"的元素。你所拥有的是:寻找一个id为'id'和类滑块的元素。
修复错误
选择器中存在错误。你需要在类和id之间留一个空格。正如Copy Devil在他的回答中所说,你不能以数字开头css id,所以…
$(".slider #i1").show("fade",500);
良好做法
与其在你的身体上添加一个onload标签,不如这样做。
$(document).ready(function(){
$(".slider #i1").show("fade",500);
});
这被称为不引人注目的javascript。它避免了将HTML和javascript混合在一起。
只是缺少了空格。正如其他人之前回答的那样,
".slider#1"
//something that has class=slider AND id=1
与
".slider #1"
//something that has id=1 and IS INSIDE OF something with class=slider
其他人建议$(document).ready,但body onload就可以了,你不必更改它。(不过他们的方式更好。)
- 我正在创建一个聊天,但每次我发送消息时,它都不会让我再发送另一条消息,就像表格一样;不起作用
- 为什么我的流星每个功能都不起作用
- Focus()在任何导航器中都不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- Mustache.js每个循环都不起作用
- JQuery.每个函数都不起作用
- 如果.htaccess文件中只写了一行代码,那么我所有的css和js都不起作用,如何修复它
- 我需要一种自动调整iframe大小的方法,无论我查到什么,它都不起作用
- HTML 不加载 CSS ,刷新后一切正常.同样在移动设备上,它在首次加载时不起作用
- JQuery在Chrome中不起作用,但Firefox很好
- 为什么我所有的循环都不起作用
- jQuery:共享按钮(sharrre)在本地和服务器上都不起作用
- 将JSON对象转换为敲除observable在IE8中不起作用,但在所有其他浏览器中都起作用
- Jquery不起作用,但我想一切都好
- Ajax请求三次都不起作用,然后就起作用了
- Javascript和Mysql调用在页面上都不起作用
- Javascript数学不起作用,更好的方式来执行操作
- 两个不同的循环-都是don'不起作用
- html下拉菜单在Firefox中不起作用,并且在旧版本的IE中一切都是错误的
- 我正在进行在线测试,一切都完成了.但是我的自动提交计时器不起作用