2017-09-05 70 views
0

我試圖修改插件以使其更加現代和易於訪問。問題是圖標:我需要添加一些span元素和一些文本,以使其可讀但不可見。在鏈接中添加span元素以使其可訪問(AA)使用javascript

我的javascript如下:

function _createInformationLink(linkText, linkHref) { 
    var infoLink = document.createElement('a'); 

    _setElementText(infoLink, linkText); 
    infoLink.href = linkHref; 
    infoLink.target = '_blank'; 
    infoLink.style.marginLeft = '8px'; 

    return infoLink; 
} 

我試圖以與.innerHTML注入HTML這樣添加一行:

function _createInformationLink(linkText, linkHref) { 
    var infoLink = document.createElement('a'); 

    _setElementText(infoLink, linkText); 
    infoLink.href = linkHref; 
    infoLink.target = '_blank'; 
    infoLink.style.marginLeft = '8px'; 
    infoLink.innerHTML = "<span class='sr-only'>Close cookie policy</span>"; 

    return infoLink; 
} 

但沒有奏效。任何建議?

UPDATE:

功能_setElementText如下:

function _setElementText(element, text) { 
    var supportsTextContent = 'textContent' in document.body; 

    if (supportsTextContent) { 
     element.textContent = text; 
    } else { 
     element.innerText = text; 
    } 
} 
+0

根據您對_setElementText的定義,這可能是您在這裏引起問題的原因。如果您包含'_setElementText'的定義可能會有所幫助。我不知道你的意思是「它沒有工作」,但我想象如果'_setElementText'設置'innerHtml',並且將它設置爲跨度時將被覆蓋。 – quetzaluz

+1

function _setElementText(element,text){IE1不支持textContent,所以我們應該回退到innerText。 var supportsTextContent ='documentContent'in document.body; if(supportsTextContent){element_textContent = text;其他{ element.innerText = text; } } – Matto

回答

1

您可以生成元素然後附加它沿正文如下:

function _createInformationLink(linkText, linkHref) { 
    var infoLink = document.createElement('a'); 

    _setElementText(infoLink, linkText); 
    infoLink.href = linkHref; 
    infoLink.target = '_blank'; 
    infoLink.style.marginLeft = '8px'; 
    var srSpan = document.createElement('span') 
    srSpan.innerText = 'Close cookie policy' 
    srSpan.classList.add('sr-only') 

    infoLink.appendChild(srSpan); 

    return infoLink; 
} 
0

而不是.innerHTML也許嘗試使用:

infoLink.classList.add('sr-only')

+0

是的,但我需要創造一切,不僅僅是一堂課。我需要創建一個跨度,跨度的類和其中的一些文本 – Matto

相關問題