繁体   English   中英

如何获取具有特定类名的字符串变量中的所有跨度

[英]How to get all spans in string variable, with particular class name

由于我越来越难以列出所有跨度, 而其中的class =“ ansspans”可能是一个或多个带有“ ansspans”类的跨度,因此我需要获取所有跨度及其内容并对其进行迭代。 你能告诉我该怎么做吗,正则表达式,jQuery,什么都可以,

  1. 内容将在字符串变量中 (而不是在DOM中),因为IE 9忽略了属性的引号,因此我无法使用getelementbyclass名称,并且我遵循此答案以获取引号InnerHTml workAround ,现在其显示为引号。 所以我需要在数组中获取所有的anspans类,以便迭代它n获取每个span的文本内容

     <span id="sss_ctl00_ctl06_lblanswertext"> assignment <span class="ansspans">submission </span> date : &nbsp;10:07:51 AM </span> 

在这种情况下,预期输出将是1个span对象,以便我可以对其进行迭代

更新:我不能使用DOm,因为我们处于怪癖模式,所以9将忽略属性引号,我不能使用类名getelement遍历属性引号。 因此,我需要匹配字符串变量中的所有范围。 希望每个人都明白我的问题;(

以下jQuery选择器$('span.ansspans')将获取页面的所有 <span class="anspans">

如果您需要特定元素的内容,请添加适当选择器的前缀,即$('#sss_ctl00_ctl06_lblanswertext span.ansspans')

如果需要以更加动态的方式进行,请查看函数find()filter()

(如之前在此站点上所述,有时可以使用regex解析一组有限的 已知 xml)

   //assumes no <span id="stupid>" class="ansspans">, and no embedded span.ansspans
        var data = ' <span id="sss_ctl00_ctl06_lblanswertext"> assignment    \n date : &nbsp;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而不是整个标签)

使用jQuery的解决方案

var tempArray = $("span.ansspans");//this will select all the span elements having class 'ansspans' and return them in an array
var len = tempArray.length;//calculate the length of the array
for(var index = 0;index<len;index++){
    var reqString = $(tempArray[index]).html();
}

这些字符串值既可以放在数组中,也可以在那里使用。

如果需要textContent,请使用.text()而不是.html()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM