2017-09-25 5 views
-1

私は<li id="gen__1002_____46.14_li">"。"を含むIDのクエリセレクタは使用できません。

私はこれを選択したいと仮定しますli

は、私が書いた、

var id="gen__1002_____46.14_li"; 
document.querySelector("#" + id); 

それを達成することができるように、しかしquerySelectorはとして返します。

Failed to execute 'querySelector' on 'Element': '#gen__1002_____46.14' is not a valid selector. 

iddot文字が含まれていない場合は、それが正しく選択されます。

私の質問は、idが. charを含むhtml dom要素を選択する方法です。 idに. charを含めることができないという制限がありますか?

.Iidを削除するのではなく、私の解決策はありますか?

+0

'$( '#gen__1002 _____ 46 \\。14_li'); ' – Znaneswar

+0

私はすでに試しましたが、これは次のように返します。 Uncaught DOMException: 'element'に 'querySelector'を実行できませんでした: '#gen__1002 _____ 46 \\。14'は有効なセレクタではありません。 – mmu36478

答えて

0

あなたはドット

$('#thisIs\\.anId') // will select <span id="thisIs.anId">test</span> 

、純粋なjsの中をエスケープする必要があります。

var id="gen__1002_____46.14_li"; 
id = id.replace(/\./g, '\\\\.'); // escaping dots using regex 
document.querySelector("#" + id); 

EDIT

あなただけのIDで要素を選択したい場合は、getElementById()

を使用
document.getElementById(id); 
+0

私はすでに試してみましたが、これは返されます。 'Uncaught DOMException: 'element'の 'querySelector'を実行できませんでした: '#gen__1002 _____ 46 \\。14'は有効なセレクタではありません。 ' – mmu36478

+0

@ mmu36478どのブラウザをお使いですか? – mrid

+0

@ mmu36478更新された答えを確認してください – mrid

関連する問題