我想点击当前活动项目中的下一个li项目。哪个li是活动的,它的标记包含活动类。
首先,我得到一个标签,它是父母李。现在我得到了ul的li索引。然后在其值中添加1,然后在其上获得一个标记并触发点击事件。
我的代码在IE和Firefox中运行良好,但在Chrome中我得到以下异常。
“未捕获的TypeError:对象#没有方法'点击'”
请在我的代码中为我建议可用的链接或示例代码或更正。
我的HTML代码是: -
<nav class="cycle-nav-container" role="navigation">
<ul class="list-b" id="cycle-1-nav">
<li class="hitmo"><a href="http://hitmo-studio.com/#hitmo">Hitmo</a></li>
<li class="fastpr"><a href="#" class="active">FastPr</a></li>
<li class="thinkmedia"><a href="http://hitmo-studio.com/#thinkmedia">Thinkmedia</a></li>
<li class="arkana"><a href="http://hitmo-studio.com/#arkana">Arkana</a></li>
<li class="bioway"><a href="http://hitmo-studio.com/#bioway">Bioway</a></li>
<li class="nana"><a href="http://hitmo-studio.com/#nana">Nanaform</a></li>
<li class="akademia"><a href="http://hitmo-studio.com/#akademia">Social Media Academy</a></li>
</ul>
</nav>
我的Javascript代码是: -
var navIndex = $('.cycle-nav-container .list-b .active').parent();
var nextIndex = $("ul.list-b li").index(navIndex) + 1;
var par = $("ul.list-b");
if(nextIndex>=par[0].children.length)
nextIndex=0;
var nextElement = par[0].children[nextIndex];
var navIndex12 = nextElement.children[0];
navIndex12.click();
答案 0 :(得分:0)
为了调用DOM元素的单击处理程序,IE定义了一个基本上触发click事件的click方法。 Firefox从FF 5 +实现了它。
但Chrome仍然使用标准的W3C定义的dispatchEvent以编程方式触发事件。
或者也可能是返回的navindex12对象可能是DOMTextElement。尝试提醒navindex12.nodeType
总之,在调用click方法之前,您应该尝试优雅地检查浏览器和元素约束。