解析div之间的文本字符串

时间:2010-01-28 01:38:45

标签: javascript jquery javascript-events jquery-selectors

我在变量中存储了一串html文本:

var msg = '<div class="title">Alert</div><div class="message">New user just joined</div>'

我想知道如何从jQuery / Javascript中的上述变量中​​过滤出“刚刚加入的新用户”,以便我可以将文档标题设置为仅消息。

谢谢。

2 个答案:

答案 0 :(得分:5)

像这样:

document.title = $(msg).filter("div.message").text();

请注意,如果邮件更改为包含在元素中,则您需要将filter替换为children

编辑:看起来您想要的div嵌套在其他元素中。
如果是这样,你可以这样做:

document.title = $("div.message", msg).text();

说明:$('<div>a</div><div>b</div>')创建一个包含两个不同<div>元素的jQuery对象。您可以通过调用filter函数找到您要查找的函数,该函数查找您调用它的jQuery对象中的数学元素。 (不是他们的孩子)

$('<p><div>a</div><div>b</div><p>')创建一个包含单个<p>元素的jQuery对象,<p>元素包含两个<div>元素作为子元素。调用$('selector', 'html')将查找HTML中与选择器匹配的元素的所有后代。 (但它不会返回根元素)

答案 1 :(得分:0)

这是一个黑客而且不是很干净,但它应该有效:

  1. 添加div节点并将其html设置为短信
  2. 获取添加元素的文本并将其存储在变量
  3. 销毁节点
  4. 使用步骤2中的变量内容设置标题