如何获取具有特定类名的字符串变量中的所有跨度 [英] How to get all spans in string variable, with particular class name
问题描述
由于我越来越难以列出所有范围,其中具有class ="ansspans" 的范围可能是一个或多个带有"ansspans"类的范围,所以我需要获取所有跨度及其内容,并对其进行迭代.你能告诉我该怎么做吗,正则表达式,jQuery,什么都可以,
as i am getting tough time to list out all spans, which having class="ansspans", may be one or more span with "ansspans" classes will be there, i need to get all the spans with its content and iterate through it. can you tell me how to do it, Regex, Jquery, any thing ok,
-
内容将在字符串变量中(不在DOM中),因为IE 9忽略了属性的引号,因此我无法使用getelementbyclass名称,并且我遵循此答案来获取引号 InnerHTml workAround ,现在显示为带引号.因此,我需要在数组中获取所有类的anspans,以便进行迭代n获得每个span的文本内容
The content will be in string variable (not in DOM), as IE 9 ignoring quotes from attribute, so i cant use getelementbyclass name,and i followed this answer, to get quotes InnerHTml workAround, now its displaying with quotes. so i need get all the class of ansspans, in an array, so that i'll iterate it n get the text content of each span
<span id="sss_ctl00_ctl06_lblanswertext">
assignment
<span class="ansspans">submission </span>
date : 10:07:51 AM
</span>
在此示例中,预期输出将是1个span对象,以便我可以对其进行迭代
in this eg, expected output will be 1 span object, so that i can iterate over it
更新:由于我们处于怪癖模式,因此我无法使用DOm,即9将忽略属性引号,我不能使用类名getelement遍历属性引号.所以,我需要匹配一个字符串变量中的所有范围.希望每个人都能理解我的问题;(
Update : I cant use DOm, as we are in quirks mode, so ie 9 will ignore attribute quotes, which i cant traverse using getelement by class name, . so , i need to match all spans in a string variable. hope everyone understood my problem ;(
推荐答案
(如之前在此网站上所述,有时可以解析有限,已知集合带有正则表达式的xml)
(as been said on this site before, sometimes it's ok to parse a limited, known set of xml with regex)
//assumes no <span id="stupid>" class="ansspans">, and no embedded span.ansspans
var data = ' <span id="sss_ctl00_ctl06_lblanswertext"> assignment \n date : 10:07:51 AM \n <span class="ansspans">ONE has a new \n line in it</span><span class="ansspans">TWO</span><span class="ansspans">3 </span><span class="ansspans">4 </span><span class="ansspans">5 </span>';
var myregexp = /<span[^>]+?class="ansspans".*?>([\s\S]*?)<\/span>/g;
var match = myregexp.exec(data);
var result = "spans found:\n";
while (match != null) {
result += "match:"+RegExp.$1 + ',\n';
match = myregexp.exec(data);
}
alert(result);
(已编辑以捕获内部html而不是整个标记)
这篇关于如何获取具有特定类名的字符串变量中的所有跨度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!