如何使用javascript检索html中所有突出显示的单词

时间:2014-02-24 05:08:54

标签: javascript html

我有一个只有文字组件的Div,有些文字用背景色rgb(255,255,0)突出显示。

我想要做的是获取此div中用颜色rgb(255,255,0)突出显示的内容,并使用javascript将它们转换为字符串数组。

这是html代码:

<html><head>
 </head>

    <body class="body">
        <div style="height: 10px;"></div>
        2009 BMW for $5,800.00
        <br>
        Manheim Auto-Assign on run 3
        <br><span style="background-color: rgb(255, 255, 0);">
        Condition</span> and <span style="background-color: rgb(255, 255, 0);">Documentation</span> issues
        <div style="height: 10px;"></div>
        Estimated Gross Profit of $15.00
        <br>
        Estimated Margin Variance of -42%
        <br>
        <br>
        Offer of $5,775.00
        <br>
        Current Offer Variance of $825.00

</body></html>

现在从这个html中,我想要检索文本ConditionDocumentation,因为它们是突出显示的单词,并将它们存储在一个数组中。 任何人都可以帮助如何在javascipt中做到这一点?

2 个答案:

答案 0 :(得分:1)

使用jQuery,您可以使用以下选择器来定位包含文本的范围:

$.("[style~='(255,255,0)']")

请参阅:http://api.jquery.com/attribute-contains-word-selector/

编辑:将选择器目标从'ffff00'更改为'(255,255,0)'

答案 1 :(得分:1)

LIVE DEMO

var hili = document.getElementsByTagName('span');
var hiliArray = [];

for(var i=0; i<hili.length; i++){
  var that = hili[i];
  var bg = that.style.backgroundColor.replace(/ /g,'');
  if (bg=="rgb(255,255,0)"){
    var purifiedText = that.innerHTML.replace(/^\s+|\s+$/g, '');
    hiliArray.push(purifiedText);
  }
}

console.log(hiliArray);// ["Condition","Documentation"]