十二月 13

【jQuery】网页标签属性中含有 tab 跳格符将导致 jQuery 选择器失效

在 XHTML 代码标签(如 DIV 等)的类 class 中包含多个值时如果以 tab 跳格符分隔虽然在 css 中可以被正确识别但将可能导致 jQuery 的选择器失效。发现这个问题是在制作 Drupal 的节点模板中根据条件为 div 添加额外的 class 时发现的。

XHTML 代码:

1
2
3
<div class="node node-page node-list">
    ... ... ... ...
</div>

jQuery 代码:

1
jQuery(".node .node-list").removeClass("node-page");

问题说明:如上面提供的两段代码中,如果在上面的 div 属性 class 中的 node node-page node-list 中使用 tab 跳格符分隔,后面 jQuery 代码中的选择器将无效,如果使用 space 空格分隔的话 jQuery 选择器正常,但无论哪种情况都不会影响 css 中的选择器渲染。

当然这种情况是可以理解的,毕竟通常情况下多个 className 中不可能含有 tab 跳格符,当然也是 W3C 不支持的。但如果在 CMS 中由程序生成多个类名时,就不免会有此种情况出现。

分享到:

本文网址:http://anyLiv.com/blog/1140 转载需注明出处!
This site is licensed under a Creative Commons BY-NC-SA 3.0 License.
本站使用 创作共用版权协议 转载本站内容也必须遵循"署名-非商业性使用-相同方式共享"的共同创作协议。

发表评论:

NOTICE: You should type some Chinese Word in your comment to pass the spam-check, thanks !

小提示:请务必填写正确的邮箱地址(推荐 QQ 邮箱)以便能及时收到我的回复,另未包含中文的评论将被过滤!


谷歌广告 gAdSense


Themed by anyLiv. Copyright © 2010. Some right reserved.