我在奇怪的情况下挣扎。 1.在Chrome和Firefox中打开并调试相同的页面。 2.代码是:
$("ul[id^='_'").each(function(){
// some actions which work good in Chrome
});
3。调试时我发现问题出在$("ul[id^='_'")
4.尝试在Chrome控制台中执行此操作,我得到:
没关系,我期待。但是,Firefox 25中的相同代码会返回以下内容:
那是空物,显然不是。 那么这两个浏览器中的代码有什么区别? 我怀疑问题可能是id-attribute的西里尔文值,但是它成功运行了IE和Chrome,并且落入了Firefox和Mozilla?
请帮我解决。
答案 0 :(得分:3)
可能是错的:
$("ul[id^='_']").each(function(){
console.log(this)
});
// ul [id ^ ='_'] < ----
答案 1 :(得分:1)
另一种解决方案
var $result = $('ul').filter(function(){
return this.id.charAt(0) === '_';
});
console.log($result);
答案 2 :(得分:0)
There is a good answer关于ID的用途。
简而言之,问题是HTML ID字段只能以字母开头,没有数字或特殊字符。
例如,这些是有效的身份证件
hello
hello_1
hello_world_1
dropdown
这些不是
1_dropdown
$34_element