0

所以我有这段代码,例如:

function image() {
    var debug = true;
    try{
        var win = window.dialogArguments || opener || parent || top;
        win.send_to_editor('[button size="" color="" link=""]place title here[/button]');
    }catch(e){
        console.log("Could not send to window: " + e);
    }

}

使用时会将一些文本从弹出窗口发送到我的编辑器,我的所见即所得。它如何不断抛出错误:

无法发送到窗口:错误:语法错误,无法识别的表达式:[button size="" color="" link=""]在此处放置标题[/button]

这应该只是发送给编辑,有什么想法吗?

4

1 回答 1

0

尝试更改[to<]to >。或者,如果您确实需要方括号,请使用一些标签将其包裹起来,例如span. 例如<span>[button size="" color="" link=""]place title here[/button]</span>

由于 OP 没有显示函数的来源send_to_editor,我只能猜测它 win.send_to_editor可能会调用类似的东西jQuery('img',html),他传入的字符串在哪里html。它应该是一个有效的 HTML 片段,因为 jQuery 会即时解析它并返回元素在这种情况下。否则,可能会导致解析错误(例如Sizzle.error)。

更新 根据 OP 的要求,这里是一个简单的例子:

jQuery("img","<div id='whatever'><img url='a.png'/></div>").attr('url')将返回字符串a.png。这里 jQuery 将第二个参数解析为 HTML 片段,检索 img 部分并最终返回其 url。

于 2013-01-09T04:18:09.767 回答