簡體   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