我有一个只有文字组件的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中,我想要检索文本Condition
和Documentation
,因为它们是突出显示的单词,并将它们存储在一个数组中。
任何人都可以帮助如何在javascipt中做到这一点?
答案 0 :(得分:1)
使用jQuery,您可以使用以下选择器来定位包含文本的范围:
$.("[style~='(255,255,0)']")
请参阅:http://api.jquery.com/attribute-contains-word-selector/
编辑:将选择器目标从'ffff00'更改为'(255,255,0)'
答案 1 :(得分:1)
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"]