プラグインをよりモダンで使いやすくするために、プラグインを変更しようとしています。問題はアイコンです:私はそれを見えるようにするためにテキストでスパン要素を追加する必要があります。リンク内にspan要素を追加して、javacriptでアクセシビリティ(AA)にする
私のjavascriptは以下の通りです:私はそのよう.innerHTMLでHTMLを注入するために行を追加しようとしました
function _createInformationLink(linkText, linkHref) {
var infoLink = document.createElement('a');
_setElementText(infoLink, linkText);
infoLink.href = linkHref;
infoLink.target = '_blank';
infoLink.style.marginLeft = '8px';
return infoLink;
}
:
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は以下の通りです:代わりに.innerHTML
の
function _setElementText(element, text) {
var supportsTextContent = 'textContent' in document.body;
if (supportsTextContent) {
element.textContent = text;
} else {
element.innerText = text;
}
}
「_setElementText」の定義に応じて、ここで問題が発生している可能性があります。 '_setElementText'の定義を含めると役に立ちます。私はあなたが "それはうまくいかない"ということを正確には知らないのですが、 '_setElementText'が' innerHtml'を設定してスパンに設定すると上書きされると思います。 – quetzaluz
関数_setElementText(要素、テキスト){ // IE8はtextContentをサポートしていないので、innerTextにフォールバックする必要があります。 var supportsTextContent = 'textContent' in document.body; if(supportsTextContent){ element.textContent = text; } else { element.innerText = text; } } – Matto