会以某种方式在变量中使用querySelector吗?
listOption_Fonts 变量具有以下内容:
<option value="10">Diário do Nordeste</option><option value="12">Agência Sebrae de Notícias</option><option value="13">ANBA - Agência de Notícias Brasil - Árabe</option><option value="14">Mundo R.I</option> (and many more)
你想要这样的东西:
listOption_Fonts.querySelector('[value=' + idFontTarget + ']');
但是,返回以下错误:
Uncaught TypeError: undefined is not a function
如何解决?
我意识到我可以使用正则表达式,但我想知道是否有更实用的方法。 我是否必须直接选择此变量;内容不在页面上。
答案 0 :(得分:0)
这有点像黑客,但你可以做到以下
var holder = document.createElement('div');
holder.innerHTML = ['<select>','<option value="10">Diário do Nordeste</option><option value="12">Agência Sebrae de Notícias</option><option value="13">ANBA - Agência de Notícias Brasil - Árabe</option>','</select>'].join('');
holder.querySelector('[value="10"]').text;
>> "Diário do Nordeste"
问题仍然是,为什么你需要这个。
我无法想象任何需要这种情况并且无法以更好的方式解决的情况。
答案 1 :(得分:0)
只需从父母那里查询你的“选项”:
var select = document.querySelector('select'),
idFontTarget = 12
console.log(select.querySelector('option[value="' + idFontTarget + '"]'));
答案 2 :(得分:0)
哦,这是DOMParser派上用场的地方,我知道它最终会
var listOption_Fonts = '<option value="10">Diário do Nordeste</option><option value="12">Agência Sebrae de Notícias</option><option value="13">ANBA - Agência de Notícias Brasil - Árabe</option><option value="14">Mundo R.I</option> (and many more)';
var parser = new DOMParser,
doc = parser.parseFromString(listOption_Fonts, "text/html"),
idFontTarget = '13',
element = doc.querySelector('[value="' + idFontTarget + '"]');