And*_*NET 10 jquery jquery-selectors
出于某种奇怪的原因,每当我有一个选择器并期望获得多个项目时,jQuery只返回第一个项目,而不是整个集合.
这是我的HTML:
<a id="reply-424880" class="reply" href="#" rel="nofollow">Reply</a>
<a id="reply-424885" class="reply" href="#" rel="nofollow">Reply</a>
Run Code Online (Sandbox Code Playgroud)
而选择器:
$('.reply').unbind('click').click(function(event) {
...
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用FireBug进行调试,但仍然得到相同的结果.使用我的工作,我可以让它工作:
$('a').each(function (index, element) {
if ($(element).attr('class') == 'reply') {
$(this).unbind('click').click(function(event) {
...
});
}
});
Run Code Online (Sandbox Code Playgroud)
我想使用内置功能而不是我的工作.知道为什么只返回第一个元素?
Jon*_*ske 21
尴尬的是,我也遇到了这个问题,结果证明Chrome似乎有一个类似于$()jquery的函数,它以类似的方式实现了一个选择器逻辑的子集,但缺少一堆函数:
> $
function $(selector, [startNode]) { [Command Line API] }
Run Code Online (Sandbox Code Playgroud)
正确包含jQuery的VS:
> $
function (e,n){return new x.fn.init(e,n,t)}
Run Code Online (Sandbox Code Playgroud)
所以..是的,事实证明我的脚本标签有点格式错误 - 不足以导致任何错误,它仍然获取jQuery文件,因此网络视图仍然显示它被提取,它只是不被解释为javascript ,因此jQuery缺失,但足够的语法仍然有效,它扔了我多年.
希望这可以在某些时候节省一些时间.
将解决方法保留几个月后,我决定尝试查看页面上是否有任何内容导致了问题。
通过排除过程,我能够将错误范围缩小到 jquery.validate.js 文件。由于某种未知的原因,该文件导致 jQuery 仅返回第一个值。我下载了最新版本,选择器现在返回所有匹配的元素。
| 归档时间: |
|
| 查看次数: |
6881 次 |
| 最近记录: |