簡體   English   中英

我應該如何從js的多個范圍中獲取“這是我的名字”?

[英]How should I get 'This is my name ' from multiple spans in js?

 <div id='item1'>
    <span>This is my name</span>
    <span> This is my nickname</span>

需要JS代碼來獲取特定范圍

您可以使用:

document.getElementById("item1").children[0];

要獲取div的第一個孩子(即第一個跨度),然后在此節點上使用.textContent來獲取“這是我的名字”

請參見下面的工作示例:

 const firstChild = document.getElementById("item1").children[0]; console.log(firstChild.textContent); 
 <div id='item1'> <span>This is my name</span> <span> This is my nickname</span> </div> 

或者,如果您想使用jQuery:

 const firstChild = $("#item1").children().eq(0); console.log($(firstChild).text()); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id='item1'> <span>This is my name</span> <span> This is my nickname</span> </div> 

  1. 使用選擇器:contains()選擇包含文本的跨度This is my name

 $("span:contains(This is my name)").css('color', 'red') 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <span>This is my name</span> <span> This is my nickname</span> 

您可以將findeq一起使用,如下所示。

 var item1 = $('#item1').find('span').eq(0).text(); var item2 = $('#item1').find('span').eq(1).text(); console.log(item1); console.log(item2); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id='item1'> <span>This is my name</span> <span> This is my nickname</span> </div> 

使用jQuery,您可以使用

$('#item1 > span:first-child').text()

 var text = $('#item1 > span:first-child').text(); console.log(text); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id='item1'> <span>This is my name</span> <span> This is my nickname</span> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM