如何使用jQuery选择具有特定条件的p标签内的文本?

时间:2012-12-07 03:58:12

标签: jquery dynamic text substring contain

文字看起来像这样。

var fi,se,en;
var description = 
"<p>
FI: Sähköpyörä, Tunturi<br />
SE: Elektrisk Cykel, Tunturi<br />
EN: Electric Bike, Tunturi<br />
<\/p>";

我想在FI之后选择p标签内的所有内容:直到标签br 和SE:和EN:

一样

结果将是这样的。

var fi = "Sähköpyörä, Tunturi";

var se = "Elektrisk Cykel, Tunturi";

var en = "Electric Bike, Tunturi";

注意:文字是动态变化。

谢谢!!!

3 个答案:

答案 0 :(得分:2)

如何使用正则表达式

var fi,se,en;
var description = 
"<p>\
FI: Sähköpyörä, Tunturi<br />\
SE: Elektrisk Cykel, Tunturi<br />\
EN: Electric Bike, Tunturi<br />\
</p>";
var match = description.match(/FI:\s*(.+)<br \/>\s*SE:\s*(.+)<br \/>\s*EN:\s*(.+)<br \/>/);
fi = match[1];
se = match[2];
en = match[3];

http://jsfiddle.net/mowglisanu/VGSaW/

答案 1 :(得分:1)

如果您可以安排将各个语言字符串括在跨度中,那么您可以避免使用正则表达式。

var description = '<p>FI: <span class="fi">Sähköpyörä, Tunturi</span><br/>SE: <span class="se">Elektrisk Cykel, Tunturi<br/>EN: <span class="en">Electric Bike, Tunturi<br/></p>';
var $desc = $(description);
var fi = $desc.find(".fi").text();
var se = $desc.find(".se").text();
var en = $desc.find(".en").text();

答案 2 :(得分:1)

使用split:

将字符串分解为数组
    var fi,se,en;
    var description = 
    "<p>\
    FI: Sähköpyörä, Tunturi<br />\
    SE: Elektrisk Cykel, Tunturi<br />\
    EN: Electric Bike, Tunturi<br />\
    </p>";

    bits = $(description).html().split(/:|<br>/); 

<强>输出

    array["FI", " Sähköpyörä, Tunturi", "SE", " Elektrisk Cykel, Tunturi", "EN", " Electric Bike, Tunturi"]
相关问题