javascript - IE 中数据属性长度的限制?

标签 javascript jquery html internet-explorer

据我了解,数据属性的长度没有限制(如果我错了,请纠正我)。然而,当我有一个包含很多字符的数据属性时,IE 中会出现一些奇怪的情况。基本上,如果数据属性 data-zip 包含用户输入的特定 zip,我想使用 jQuery 来显示特定的 div。

在 FireFox、Chrome 和 Safari 中一切都工作得很好,但我注意到我无法在我尝试过的任何版本的 IE 中使用它(2010 年 8 月 9 日)。我开始制作一个 JSFiddle,在数据属性中添加的邮政编码明显减少,因此我可以在这里发帖,但那时我意识到只要保留数据属性中的字符数,我的 Fiddle 在 IE 中就可以正常工作短。

我还注意到,如果我将所有邮政编码输入到 JSFiddle 上的数据属性中,JSFiddle 会认为代码格式不正确(尽管代码在现代浏览器中仍然按预期工作,因此这可能无关紧要)。

我在 IE 中使用 F12 开发人员工具来检查元素,并注意到当我输入所有邮政编码时,似乎没有一个邮政编码实际上在 IE 中被解析,如下所示:

enter image description here

这可能可以解释为什么我的代码在 IE 中无法正常工作(因为 data-zip 属性显示为空)。有谁知道这是怎么回事以及我该如何纠正这种情况?

Here is a JSFiddle ,第一个元素具有我可以放入数据属性中的最大字符数,在 JSFiddle 中,在语法突出显示被丢弃之前,第二个元素显示突出显示异常。在我尝试过的任何版本的 IE 中,这两者都无法正确解析,但在现代浏览器中,它可以按预期工作。

最佳答案

您必须删除选择器中的 " 才能使其在 IE 中正常工作:

所以 '.contentBlock[data-zip*='+ userZip +']' 而不是 '.contentBlock[data-zip*="'+ userZip +'"]' 。在 IE 版本 9-11 中测试(jsFiddle 在 IE8 中运行不佳)。

顺便说一下,

'[data-zip*='+ userZip +']' 也可以工作。

关于javascript - IE 中数据属性长度的限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26392887/

相关文章:

javascript - Asp.net web api session

jquery - 使用 jquery 使 slider 自动化

javascript - Jquery 在 Bootstrap 中得到错误的 div 宽度

java - 如何在servlet中获取jQuery JSON请求参数?

javascript - 使用 jquery、javascript 防止回发

java - Jquery $.get 调用 servlet 不返回任何值

javascript - 在 Jquery/Javascript 数组中插入文本框值

javascript - 如何修复下一个和上一个事件按钮的光滑 slider

Javascript - Div标签自动关闭

javascript - AngularJS 的链式 promise