簡體   English   中英

(jQuery) 將元素內的標題作為 aria-label 應用到 div 內且不包含 aria label 的鏈接

[英](jQuery) Apply the title that is inside an element as an aria-label to the link that is inside the div and does not contain an aria label

HTML

<div class="box-container">
 <a href="#"></a>
 <h3 class="box-title">Title 1</h3>
</div>
<div class="box-container">
 <a href="#"></a>
 <h3 class="box-title">Title 2</h3>
</div>
    <div class="box-container">
 <a href="#"></a>
 <h3 class="box-title">Title 3</h3>
</div>

jQuery

 $('a:not([aria-label])').attr('aria-label', function() {
      var txt = $(".box-container > .box-title").text();
      $(this).attr("aria-label", txt);
  });

問題是上面的 div 在整個頁面中出現了 3 次,所以上面的代碼將返回並應用為鏈接中的 aria-label,所有具有這些類的標題。 示例:aria-label="標題元素 1 標題元素 2 標題元素 3"

所以我想弄清楚為什么以上不適用於div的鏈接,每個div的specific.box-title class,只有。

我試圖實現的目標和 $(this) 無法正常工作:

  <div class="box-container">
     <a href="#" aria-label="Title 1"></a>
     <h3 class="box-title">Title 1</h3>
  </div>
  <div class="box-container">
     <a href="#" aria-label="Title 2"></a>
     <h3 class="box-title">Title 2</h3>
  </div>
  <div class="box-container">
     <a href="#" aria-label="Title 3"></a>
     <h3 class="box-title">Title 3</h3>
  </div>

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="box-container"> <a href="#"></a> <h3 class="box-title">Title 1</h3> </div> <div class="box-container"> <a href="#"></a> <h3 class="box-title">Title 2</h3> </div> <div class="box-container"> <a href="#"></a> <h3 class="box-title">Title 3</h3> </div> <script> $('a:not([aria-label])').attr('aria-label', function() { var txt = $(this).parent().find(".box-title").text(); $(this).attr("aria-label", txt); }); </script>

如何定位元素<div aria-label></div><div id="text_translate"><p>我在 selenium java 中非常初級。 我正在嘗試在亞馬遜中找到該元素。</p><p> 當我嘗試運行此代碼時,我找不到該元素。 請幫助解決這個問題。</p><p> <a href="https://i.stack.imgur.com/eMWTB.png" rel="nofollow noreferrer">在此處輸入圖像描述</a></p><p>這是我的代碼</p><pre> WebElement a_review= driver.findElement(By.xpath("//div[@aria-label='4 Stars &amp; Up']")); ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", a_review); a_review.click();</pre></div>

[英]how to locate the element in <div aria-label>

暫無
暫無

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

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