2017-06-26 5 views
0

私はJSONからHTMLを生成しています。動的な量の子を持つHTMLオブジェクトが残っています。JS HTMLオブジェクト、クラスの要素が含まれています

クラスに応じて特定の要素への参照を保持する必要があるため、ユーザーはクラスの名前を変更できますが、特定のキーワードを持つ必要があります。たとえば、 marvLightbox__close

誰かがこれをsomething__closeのように変更する可能性があるので、このHTMLオブジェクトの子をcloseで検索するにはどうすればよいですか?

私はまだこのオブジェクトをDOMに追加していませんが、それはちょうどメモリ内にあります。

P.S.何もない!

編集 は、私がこれを使用することができますがわかったが、それは少し浮気だような気が!プラス私は

document.querySelectorAll('[class*=-img]') 

編集... IE8をサポートする必要がある2

ポリフィル実際に、それは結局、あまりにも悪くはないので...、あまりにも多くの行である

if (!document.querySelectorAll) { 
    document.querySelectorAll = function (selectors) { 
    var style = document.createElement('style'), elements = [], element; 
    document.documentElement.firstChild.appendChild(style); 
    document._qsa = []; 

    style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; 
    window.scrollBy(0, 0); 
    style.parentNode.removeChild(style); 

    while (document._qsa.length) { 
     element = document._qsa.shift(); 
     element.style.removeAttribute('x-qsa'); 
     elements.push(element); 
    } 
    document._qsa = null; 
    return elements; 
    }; 
} 
+0

あまりにも悪くはないので、プラス私はIE8をサポートする必要がある...

document.querySelectorAll('[class*=-img]') 

ポリフィルは実際にあなたがこれまでに試してみましたがどのような、あまりにも多くの行ではないでしょうか? – freginold

+1

さて、私はquerySelectorAllを試してみましたが、これをどのように使ってこの使い方をしていますか? P.S.あなたがdownvote場合は、コメントを残して理由を説明し、それ以外の場合は無意味です。 –

+0

私はそれをdownvotedされていませんでした。 – freginold

答えて

0

私はこれを使うことができますが、ちょっと騙されているような気がします!それは結局...

if (!document.querySelectorAll) { 
    document.querySelectorAll = function (selectors) { 
    var style = document.createElement('style'), elements = [], element; 
    document.documentElement.firstChild.appendChild(style); 
    document._qsa = []; 

    style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; 
    window.scrollBy(0, 0); 
    style.parentNode.removeChild(style); 

    while (document._qsa.length) { 
     element = document._qsa.shift(); 
     element.style.removeAttribute('x-qsa'); 
     elements.push(element); 
    } 
    document._qsa = null; 
    return elements; 
    }; 
} 
関連する問題