首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有需要转义的字符的Jquery taconite选择器

带有需要转义的字符的Jquery taconite选择器
EN

Stack Overflow用户
提问于 2009-10-06 00:28:52
回答 1查看 433关注 0票数 1

我正在使用jquery taconite插件发出一个ajax请求,该请求将替换我页面中的某个元素,但是该元素的id类似于“email.subject”。

我可以选择它,如果我做了'$("email\\.subject")',但当我尝试使用taconite插件时,如下所示:

代码语言:javascript
复制
<taconite>
    <replaceWith select="#email\\.subject">
        JUCA
    </replaceWith>
</taconite>

插件日志显示:

代码语言:javascript
复制
[taconite] No matching targets for selector: #email\\.subject

我怎么才能让它工作呢?

EN

回答 1

Stack Overflow用户

发布于 2010-06-02 00:11:31

好吧,这就是我所做的。然而,它对我来说并不起作用。(我没有通读整个源代码)。但它会为你指明正确的方向。

真正的问题是在jquery.taconite.js文件中,在第152行附近(如果您正在查看最新版本!)您可以看到:

代码语言:javascript
复制
var q = cmdNode.getAttribute('select');
var jq = $(q);

如果我在上面的语句中添加一个警告来找出jq的值,它会说:[Object object]。但是,只要它不包含.,它就可以工作

问题是that的作者没有检查“.”属性值中的select。当我在一个简单的js文件中尝试它时,下面的代码对我来说是有效的。但是,当我在jquery.taconite.js文件中使用相同的命令时,它不起作用。需要更多的调整吗?

代码语言:javascript
复制
var x = cmdNode.getAttribute('select');
alert(x); //Shows what you have entered in <replaceWith select="#email.subject"> i.e "#email.subject"
var q = x.replace(/\./g, "\\\\\."); //Searches for a . in the string and escapes it! So now it becomes: "#email\\.subject"
alert(q) //Alerts #email\\.subject ... Great! Works fine till this point!
var jq = $(q);
alert(jq[0]); //Says "undefined"!!!! This is where i got stuck! Why does it say undefined??
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1523060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档