Jquery不适用于由AJAX调用的HTML标签
Jquery doesn't work on HTML tags which via called by AJAX
我有一个无序列表
<ul id="showlist"></ul>
如果用户调用 ajax 函数,则会填充列表项,例如
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
我的问题在那之后就开始了。 我在我的页面的 AND 上有一个 <script>
标签。 它说当按下向下按钮时,使<ul>
的第一个孩子变成蓝色。 但它什么也没做
<script>
$(body).keydown(function(e) {
if(e.keyCode == 40){
$("#showlist:first-child").attr("style","background-color:blue");
}
})
</script>
我该如何解决我的问题?
使用 $('body')
而不是 $(body)
。
您的选择器也有问题:
$("#showlist li:first-child")
工作示例:http://jsfiddle.net/hF6LF/
另外,您在帖子中提到此脚本位于页面末尾。如果你的脑袋中有脚本,你需要等待 dom 准备好body
元素存在。将处理程序绑定到document
可能更安全, 将永远存在。
使用 .on jquery 方法
$(body).on("keydown", function(e) {
.....
});
Jquery .on((
Yo 必须使用 on 事件侦听器,它可以处理尚未创建的后代元素上的事件。
请参阅 https://api.jquery.com/on/
例如,如下所示的内容。
$(document).on( "keydown", "body", function() {
alert( $( this ).text() );
});
相关文章:
- 如何在tinymce编辑器中将点击事件绑定到html标签
- 如何将具有相同功能的两个select html标签的两个JS组合在一起
- 带有html标签的Summernote内容
- 为什么我的HTML标签消失了
- 如何忽略单词like“”中的未使用空格;测试-文本”;同时构建html标签
- 在AngularJS中过滤-html标签中的文本
- 如何在另一个 html 标签内选择 web 元素硒 Web 驱动程序与 html 源
- 我怎么能"合并”;两个HTML标签
- JavaScript if else 语句来显示 html 标签
- 在 JavaScript 中实现 HTML 标签
- 如何用jQuery替换HTML标签的一部分
- 在javascript文件中编写html标签而不是“text”
- 窗口确认在 AJAX 帖子中打印 HTML 标签
- 如何在javascript函数中弹出php(与html标签混合)文件
- HTML标签的问题与Javascript一致
- 使用Javascript获取所有html标签
- 如何从JavaScript外包HTML标签
- Ckeditor:如何在mysql中避免使用Ckeditor中的html标签来节省时间
- 如何在 jquery 和 javascript 中检索 html 标签属性
- 如何获取html标签的字体大小