簡體   English   中英

如何使用JavaScript針對一組標簽文本檢查所有“ a”元素內部文本是否匹配?

[英]How can I check all “a” elements inner text against a set of labels text for matches using JavaScript?

我的頁面上有一堆“ a”元素,它們保存日歷的月份。 我有隱藏的標簽,每個標簽都包含一個月中的某天。 我想使用JavaScript檢查是否存在匹配項。 如果存在匹配項,我想添加嵌套在a元素內的HTML。

這是我嘗試過的方法,但未按預期工作:

<span id="eventDayLabel1" class="daysClass">18</span>
<a href="javascript:__doPostBack('ctl00$MainContent$Calendar2','6317')" style="color:Black" title="April 18">18</a>

$(function () {
            $('a').on('click', function (event) { event.preventDefault(); });
        });


var elemAs = document.getElementsByTagName('a');
        for (var i = 0; i < elemAs.length; i++) {


       var elemA = elemAs[i];
            var dayLabels = document.getElementsByTagName('daysClass');
            function contains(dayLabels, elemA) {
                for (var i = 0; i < dayLabels.length; i++) {
                    if (dayLabels[i].innerText == elemA.innerText) {
                        // add HTML here
                    }
                }
                return false;
            }
        }

為什么這段代碼不起作用? 我檢查了標簽和創建的元素是否匹配(使用Chrome中的inspect元素)。

您沒有調用contains()函數,而是使用getElementsByTagName()獲取一個class

只需刪除該函數並return false ,然后使用getElementsByClassName()

 var elemAs = document.getElementsByTagName("a"); for (var i = 0; i < elemAs.length; i++) { var elemA = elemAs[i]; var dayLabels = document.getElementsByClassName("daysClass"); //function contains(dayLabels, elemA) { for (var i = 0; i < dayLabels.length; i++) { if (dayLabels[i].innerText == elemA.innerText) { console.log('match'); } } //return false; //} } 
 <span id="eventDayLabel1" class="daysClass">18</span> <a href="javascript:__doPostBack('ctl00$MainContent$Calendar2','6317')" style="color:Black" title="April 18">18</a> <span id="eventDayLabel1" class="daysClass">18</span> <a href="javascript:__doPostBack('ctl00$MainContent$Calendar2','6317')" style="color:Black" title="April 18">17</a> <span id="eventDayLabel1" class="daysClass">19</span> <a href="javascript:__doPostBack('ctl00$MainContent$Calendar2','6317')" style="color:Black" title="April 18">19</a> 

暫無
暫無

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

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