2017-09-13 43 views
1

工作在我HTML我有olli这是我HTML 和我对这些链接脚本一样,当我点击它,我保持着警惕核实它不工作点击功能是不是在jQuery的

$('#namesId ol li').click(function() { 
 
    alert('clicked'); 
 
    //ToDo 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
 
<div class="col-sm-4" id="namesId" style="padding:0px"> 
 
    <ol style="padding-left: 10px;"> 
 
    <li class="v"><a href="">Funny 10 second video! - YouTube (360p)</a></li> 
 
    </ol> 
 
</div>

点击功能ID不工作什么是它的问题。

+1

哪里是'namesId' ID? –

+0

“namesId”的定义在哪里? –

+0

你可以包含关于'#namesId'的相关HTML吗? – Vivick

回答

1

正如你所说li是动态生成的,你必须使用jQuery event-delegation

所以做象下面这样: -

$('#namesId ol').on('click',"li",function(e) { 
 
    e.preventDefault(); 
 
    console.log('clicked'); 
 
    //ToDo 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-sm-4" id="namesId" style="padding:0px"> 
 
    <ol style="padding-left: 10px;"> 
 
    <li class="v"><a href="">Funny 10 second video! - YouTube (360p)</a></li> 
 
    <li class="v"><a href="">Wildlife</a></li> 
 
    </ol> 
 
</div>

+0

bharath varma很高兴帮助你:) :)。感谢标记。 –

0

它应该是:

$('#namesId ol li:nth-child(1)').click(function() { 
     alert('clicked'); 
     //ToDo 
});   //for first li click 

$('#namesId ol li:nth-child(2)').click(function() { 
     alert('clicked'); 
     //ToDo 
});   //for second li click   
+0

没有理由使用':nth-​​child(1' –

+0

你应该总是给你的答案留下一个解释 –

0

下面的代码工作正常。

<html> 
     <head> 
     <title>Test</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     </head> 
     <body> 
     <ol id="namesId" style="padding-left: 10px;"> 
       <li class="v"><a href="">Funny 10 second video! - YouTube (360p)</a> 
       </li> 
       <li class="v"><a href="">Wildlife</a></li> 
     </ol> 
     <script> 
     $('#namesId li').click(function() { 
       alert('clicked'); 
       //ToDo 
     }); 

     </script> 
     </body> 
    </html> 

<html> 
 
<head> 
 
<title>Test</title> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</head> 
 
<body> 
 
<ol id="namesId" style="padding-left: 10px;"> 
 
     <li class="v"><a href="">Funny 10 second video! - YouTube (360p)</a> 
 
     </li> 
 
     <li class="v"><a href="">Wildlife</a></li> 
 
</ol> 
 
<script> 
 
$('#namesId li').click(function() { 
 
     alert('clicked'); 
 
     //ToDo 
 
}); 
 

 
</script> 
 
</body> 
 
</html>

+0

所以OP的代码问题不是关于选择器 – Rajesh

+0

也请注意编辑器中的<<>'图标。可以把你的* HTML/JS/CSS *代码,并使其运行片段 – Rajesh

+0

用户上述代码,因为它只改变src(jquery文件位置)部分,它将工作正常。 –

4

试试这个:

$('#namesId ol').on('click', 'li', function(e){ 
    e.preventDefault(); 
    alert('clicked'); 
}); 
+0

不需要从文档 –

+0

一路遍历@AlivetoDie编辑后更好吗? –

+0

是的。顺便说一句,我已经投票给你,因为至少概念是正确的 –

0

您已指明名称的选择#namesId,但它不是任何地方所定义。

这样说吧,它会工作:

<div id="namesId"> 
    <ol style="padding-left: 10px;"> 
    <li class="v"><a href="">Funny 10 second video! - YouTube (360p)</a> 
    </li> 
    <li class="v"><a href="">Wildlife</a></li> 
</ol> 
</div>