javascript - Jquery 不适用于通过 AJAX 调用的 HTML 标签

标签 javascript jquery ajax

我有一个无序列表

<ul id="showlist"></ul>

如果用户调用 ajax 函数,则会填充类似的列表项

<ul>
    <li>a</li>
    <li>b</li>
    <li>c</li>
    <li>d</li> 
</ul>

我的问题在那之后就开始了。我有一个<script>标签在我的页面的最底部。它说当按下向下按钮时,使 <ul> 的第一个 child 蓝色的。但它什么也没做

<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/

此外,您在帖子中提到该脚本位于页面末尾。如果脚本位于 head 中,则需要等待 dom 准备好 body 元素存在。将处理程序绑定(bind)到始终存在的 document 可能更安全。

关于javascript - Jquery 不适用于通过 AJAX 调用的 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23255417/

相关文章:

php - 使用 ajax 的 Codeigniter 分页

javascript - 无需重新加载页面的数组中的 PHP 随机值

java - Primefaces 组件不更新

javascript - 在node-red中,为什么在保存关键字 'this'的值后继续使用它?

javascript - 当通过导入包含 jquery 时,窗口加载事件不会触发

html - 动态生成的 super 菜单布局

javascript - 如何将任意 JSON 对象返回到 jQuery 自动完成列表?

jquery - 在 jQuery Ajax POST 中序列化 JSON 数据包

javascript - 如何提取Google结果页面中的搜索结果总量

javascript - JS 匹配字符串中所有出现的子字符串