Javascript 从 child 中的 child 获取文本

问题描述

我正在忙于开发一个 wordpress 插件来查找数字并通过格式化数字并将其替换为 0000 来隐藏它们,例如:

<a href="tel:0000000000">
   <span>
      <span>0000 000 000</span>
   </span>
</a>

我有查询 <a href=""> 标签的 javascript。然后我得到 a 标签的孩子。然而,我的问题是,因为我不知道有什么孩子或有多少孩子生病,我不能假设它是 1 或 2,因此我必须预测和寻找它。

Javascript 代码:

// REMOVE SPACES IN STRING
let replaceStr = function (self) {
    let value = self.replace(/[- )(]/g,'')
    return value
};
// REMOVE LETTERS FROM STRING 
let rmLetters = function (self) {
    // let value = self.replace( /^\D+/g,'')
    let value = self.replace(/\D+%?/g,"");
    return value
}

let a = document.querySelectorAll("a[href^='tel:'],a[href^='Tel:'],a[href^='callto:']");
for (var i = 0; i < a.length; i++) {
    let hrefSlice = a[i].href.slice(4);
    let countChildren = a[i].childElementCount
    if (a[i].hasChildNodes()) {
        let a_childNodes = a[i].children;
        if (a_childNodes.length > 1) { 
            for (let l = 0; l < a_childNodes.length; l++) {
                if (replaceStr(a_childNodes[l].textContent) === hrefSlice) {
                    a_childNodes[l].textContent = replaceStr(a_childNodes[l].textContent).slice(0,4) +
                            "...Click Here";
                } else if (replaceStr(rmLetters(a_childNodes[l].textContent)) === hrefSlice) {
                    a_childNodes[l].textContent = replaceStr(rmLetters(a_childNodes[l].textContent)).slice(
                            0,4) + "...Click Here";
                    }
                }
            }
        }
    }
}
  

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)