选择容器中的第一个单词

时间:2012-02-02 04:05:35

标签: javascript jquery

也许这很容易,或者我忽略了它

但如果我有:

<div class='test'>Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus.</div>

我该如何选择它的第一个单词? [在这个例子中'Fusce']

4 个答案:

答案 0 :(得分:1)

获取div的文本,然后使用正则表达式将文本解析为单词:

/^(\w+)/.exec($(".test").text())[0]

由于div内容只是文本数据(没有标记),jQuery无法帮助你。上面的示例假定“单词”是一个或多个字母数字字符,但您可以使用另一个更适合您的正则表达式。其他选项是定义一组单词边界(更新:或\W,如sgarrett建议的那样),并拆分文本以获取其中的所有单词:

$(".test").text().split(/\ \.\,/)[0]

更新:并突出显示该单词,您的答案略有修改版本(请参阅有关HTML实体的评论):

$(".test").html($(".test").html().replace(/^(\w+)/, "<span>$1</span>"));

答案 1 :(得分:1)

$('.test').text().match(/^(\w+)/)[0];

<强> Demo

答案 2 :(得分:1)

使用jQuery获取文本:

var divText = $('div.test').text();

从divText获取第一个单词:

var firstWord = divText.split(/\W+/)[0];

答案 3 :(得分:-1)

所以@mgibsonbr应该是

$div = $('div');

$div.html($div.text().replace(/^(\w+)/, '<span>$1</span>'));

http://jsfiddle.net/nQ5Y5/4/