如何在绕过<b>和<i>时获取第一个文本节点
how to get first text node while bypassing <b> and <i>?
我想从字符串中获取第一个文本节点,但它可能包含很少的标签,如 <b>,<i>
和 <span>
。我已经尝试过这样,但它只给了login
,而它应该给login<b>user</b> account
var s = $.trim('login<b>user</b> account<tbody> <tr> <td class="translated">Lorem ipsum dummy text</td></tr><tr><td class="translated">This is a new paragraph</td></tr><tr><td class="translated"><b>Email</b></td></tr><tr><td><i>This is yet another text</i></td> </tr></tbody>');
if( $(s).find('*').andSelf().not('b,i').length > 1 ) {
if( s.substring( 0, s.indexOf('<') ) != '') {
alert(s.substring(0, s.indexOf('<')));
} else {
alert($(s).find('*:not(:empty)').first().text());
}
}
在JSFIDDLE上检查它
注意:
此字符串将是动态的,因此请编写不特定于此文本的通用答案。
更多信息 :
@Jeremy J 斯塔彻!我只想点击 iframe 的第一个非空文本节点。此节点将包括<b> or <i>
以及它们之间的任何内容,如下所示:
hi my <b>bold</b> text is here // note the bold tags as it is
如果只单击一个元素,则抛出其文本,但如果选择了一个以上的元素,则它必须获取所有节点中的第一个文本节点。
一种蛮力方法,但您可以取出您希望在第一个节点中出现的所有标签,并读取直到下一个标签的开头,如下所示:
text = text.replace("<b>"," ");
text = text.replace("</b>"," ");
text = text.replace("<i>"," ");
text = text.replace("</i>"," ");
text = text.replace("<span>"," ");
text = text.replace("</span>"," ");
text = text.substr(0, text.indexOf("<"));
我没有
完全遵循这个问题,但是如果您尝试从DOM元素中提取文本,这可能会有所帮助:
var getText = function (el) {
var ret;
var txt = [],
i = 0;
if (!el) {
ret = "";
} else if (el.nodeType === 3) {
// No problem if it's a text node
ret = el.nodeValue;
} else {
// If there is more to it, then let's gather it all.
while (el.childNodes[i]) {
txt[txt.length] = getText(el.childNodes[i]);
i++;
}
// return the array as a string
ret = txt.join("");
}
return ret;
};
相关文章:
- 通过jstree中的Id获取节点
- ajaxslt 无法使用 XPATH 获取节点
- 正在nodejs+xpath中获取节点
- 如何在layout.ejs上获取节点
- 获取节点的内部文本
- 剑道ui树视图dragend获取节点id
- 在Javascript中获取节点CSS的绝对位置
- 如何从node_modules获取节点包消费者目录
- HTTP 获取节点 JS 以使用文档元素进行解析
- 客户端 js 获取节点.js API 调用
- 花式树:在右键单击上下文菜单中获取节点
- 如何在java脚本中获取节点内部文本
- 通过模型属性 AngularJS 获取节点元素
- JsTree - 获取节点的程度
- 获取节点名称/elem 在数据表 1.10.4 上为空
- 如何在ag网格中通过索引获取节点
- Javascript DOM,在不丢失间距信息的情况下获取节点文本
- 获取节点中的文件创建日期
- 如何在JavaScript中获取节点数据,如内联样式和方向等
- 如何在成功获取节点位置后眨眼节点