繁体   English   中英

使用JavaScript从锚标记中提取锚文本

[英]Extracting anchor text from anchor tag with JavaScript

我最近发布了关于使用JavaScript从锚标记中提取锚文本的问题。 我得到了一个答案。

但是,该代码在IE和Chrome中有效,但在Firefox中不起作用。

function extractText(){
    var docId = "10";
    var cId = "13";
    var dName = "ASPIRIN/COUMARIN";
    var anchText = "<a target=\"_blank\" href=hello?docId=" + docId + "&cId=" + cId +">" + dName +"</a>";
    var str1 = document.createElement('str1');      

    str1.innerHTML = anchText;
    var anc = str1.innerText;

    alert(anc);

    return anc;
}

我认为innerTextinnerHTML或两者的属性在Firefox中不起作用。 您能否在上述代码适用于IE,Chrome,Firefox等的地方提供帮助?

Firefox似乎不支持innerText属性,而是倾向于使用W3C的textContent标准:

function extractText() {
    var docId = "10";
    var cId = "13";
    var dName = "ASPIRIN/COUMARIN";
    var anchText = "<a target=\"_blank\" href=hello?docId=" + docId + "&cId=" + cId + ">" + dName + "</a>";
    var str1 = document.createElement('str1');

    str1.innerHTML = anchText;
    var anc = (str1.innerText || str1.textContent);

    console.log(anc);

    return anc;
}

extractText();

JS小提琴演示

假设您希望避免在每次调用时都检查这两个属性,只需使用以下命令检查浏览器支持的属性即可:

var textProperty = 'textContent' in document ? 'textContent' : 'innerText';

然后按如下方式使用它:

var anc = str1[textProperty];

JS小提琴演示

参考文献:

Firefox中使用的W3C标准的textContentinnerText的替代方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM