从类名获取div值

时间:2019-09-23 08:41:09

标签: javascript html css

我有一个非常大的HTML,其中包含许多同名的div,我想要一种仅从该div过滤或提取该值的方法。

这里是一个例子:

<td class="last">
  <div class="container-relative">
    <div class="name" title="&quot;User&quot; <John Appleseed>"></div>
    <div class="date">9/17/2019</div>
    <div class="tool"></div>
  </div>
</td>

我只需要提取<John Appleseed>之间的内容,在这种情况下就是“约翰·苹果种子”。

4 个答案:

答案 0 :(得分:3)

您可以使用querySelectorAll来获取类name的所有元素,然后使用getAttribute获得title属性,最后使用正则表达式来匹配之间的文本<>

document.querySelectorAll('.name').forEach(item => {
  let title = item.getAttribute('title');
  console.log(title.match(/\<.*\>/));
});
<td class="last">
  <div class="container-relative">
    <div class="name" title="&quot;User&quot; <John Appleseed>"></div>
    <div class="date">9/17/2019</div>
    <div class="tool"></div>
  </div>
</td>

答案 1 :(得分:0)

var divs=[];
for(i=0,j=0,obj=document.getElementsByClassName("name");i<obj.length;i++)
    if(obj[i].title.includes("John Appleseed") && 
    /* obj[i].title.split("\"")[2].trim()=="<John Appleseed>" && */
    obj[i].tagName.toLowerCase()=="div"){
        divs[j++]=obj[i];
    }
console.log(divs);

答案 2 :(得分:-3)

使用div ID分隔div。然后使用该ID值获取各自的div。然后在javascript中可以使用getElementByID。

答案 3 :(得分:-4)

您可以使用Xpath

.//div[contains(@class, 'Test')]

然后从中提取所需的文本。

相关问题