目标,是为CKEDITOR文本编辑器提取内容,然后只获取FIRST段落。由于某种原因,轰鸣声不起作用......想法?
给出以下JavaScript:
var newTitle = CKEDITOR.instances.meeting_notes.getData();
newTitle = $(newTitle).find("p:first").text();
答案 0 :(得分:2)
它不起作用,因为find()
搜索后代,您的段落必须位于您正在搜索的HTML的顶层。
例如:
alert($("<p id='one'>one</p><p id='two'>two</p>").find("p:first").attr("id"));
返回“undefined”而:
alert($("<p id='one'>one</p><p id='two'>two</p>").filter("p:first").attr("id"));
将输出“one”。
如果你知道它位于顶层(可能会回到filter()
),你可以使用find()
。或者,您可以将整个批量包装在虚拟元素中:
alert($("<div>" + html + "</div>").find("p:first").text());
编辑:我的建议?使用:
newtitle = $(newtitle).filter("p:first").text();
答案 1 :(得分:0)
我不确定是否适合你,但只是尝试在:第一次之前加一个空格, 由于某些原因,就我的经验而言,我无法解释这项工作:
现在找到的新选择器,find(“ p:first ”)
var newTitle = CKEDITOR.instances.meeting_notes.getData();
newTitle = $(newTitle).find("p :first").text();
BTW你可以发布一些newTitle的样本值,只是好奇它的样子!
答案 2 :(得分:0)
这是完全未经测试的,但假设getData返回的是一串HTML,请尝试:
newTitle=$("<div>").html(newTitle).find("p:first").text();