如何解决如何实现jQuery .get
| 我有两个无序列表<ul id=\"proItems\">
<li class=\"item swipe\"><img src=\"gallery/one.jpg\" /></li>
<li class=\"item swipe\"><img src=\"gallery/two.jpg\" /></li>
<li class=\"item swipe\"><img src=\"gallery/three.jpg\" /></li>
<li class=\"item swipe\"><img src=\"gallery/four.jpg\" /></li>
<li class=\"item swipe\"><img src=\"gallery/five.jpg\" /></li>
<li class=\"item swipe\"><img src=\"gallery/six.jpg\" /></li>
</ul>
<ul id=\"indicator\">
<li class=\"indicate\"></li>
<li class=\"indicate\"></li>
<li class=\"indicate\"></li>
<li class=\"indicate\"></li>
<li class=\"indicate\"></li>
<li class=\"indicate\"></li>
</ul>
每当我单击I1ѭ上的任何项目时,对应的ul#indicator
项的css都会更改。例如,如果单击ul#proItems
的第二个元素,ul#indicator
的第二个项目将受到影响。
我有一个jquery代码来标识在ul#proItems
上被单击的li项的索引,并且我做了类似的事情(在ul#proItems li
上应用了click事件)
var index = $(this).index();
$(\"#indicator li.indicate\").get(index).css(\'background-color\',\'#111\');
这似乎不起作用。我需要更改以解决此问题。
谢谢
解决方法
get()
返回DOM元素,而不是jQuery对象。
您应该改用eq()
:
var index = $(this).index();
$(\"#indicator li.indicate\").eq(index).css(\'background-color\',\'#111\');
,这是该代码的有效演示:http://jsfiddle.net/f6Xth/7/。
$(\'ul#proItems li\').click(function() {
$(\'#indicator li\').eq($(\'ul#proItems li\').index(this)).css(\'color\',\'red\');
});
,var index = $(this).index();
$(\"#indicator :nth-child(\" + (index + 1) + \")\").css(\'background-color\',\'#111\');
,尝试
$(\"#indicator li.indicate:eq(\" + index+ \")\")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。