JavaScript中的转义字符在PHP Wordpress短代码中运行
Escaping characters in JavaScript run inside of a PHP Wordpress shortcode
我遇到了这个奇怪的场景。我正在编写一个执行一些jQuery内容的短代码,特别是解析XML文件(jQuery.parseXML()
-这将XML文件转换为jQuery对象)。我想从XML标签<中获取文本;字幕。文件>,我尝试这样做:
var captionsFileURL = (JQXML.find("captions''.file")).text();
根据我发现的StackExchange帖子,标签名称中的句号需要转义,因此它不被解释为file
类的captions
标签(但为什么要双重转义?)。当我在控制台中手动尝试时,这是有效的,但在短代码中使用javascript则不行。然后我尝试转义它:
var captionsFileURL = (JQXML.find("captions'''.file")).text();
…这招奏效了。
对于第一个问题(为什么要双转义?),解释如下:
使用任何元字符(如! " # $ %和 ;'()*+,./:;& lt; => ?@[]^ '{|}~)作为名称的文字部分,它必须用两个反斜杠转义:''。例如,一个id="foo "的元素。,可以使用选择器$("#foo''. Bar ")。
从这里:http://api.jquery.com/category/selectors/
至于为什么需要在上面的选择器中添加额外的(第三个)斜杠,我不知道—可能是在解析中,或者是在一些转换中,在原始字符串中添加了额外的斜杠。
相关文章:
- 如果此代码运行,请执行代码
- JavaScript游戏引擎——编辑器中的代码运行:)检查器中的错误
- JavaScript中的逗号运算符:应为语法错误,但代码运行正常
- 代码运行时出现问题
- Socket.IO:重新连接导致服务器连接代码运行两次
- 代码运行时的类型检查
- 将页面控件添加到数据表,但当代码运行时,页面中不显示任何内容
- if 语句中的一部分 JavaScript 代码运行,而同一块中的其余代码不执行.我在这里错过了什么
- JS代码运行非常慢
- 阻止其他代码运行,直到 AJAX 请求返回某些内容
- JS代码运行到无限循环
- Javascript游戏代码运行非常慢
- chrome扩展///我的代码运行了不止一次
- 我的代码运行在jsfiddle上,但为什么不能't在本地计算机上
- Javascript parseInt-代码运行4次
- 如何从Visual Studio代码运行我的电子项目
- 检查显示:CANNON不是使用CANNON.js+Webstorm 8.0.1定义的(但代码运行良好)
- 为什么slice()显示错误,但代码运行良好
- 代码运行后字符串发生更改
- JQuery函数代码运行不正常