2016-07-07 61 views
1

我有這樣的代碼:document.querySelectorAll()

<a href="javascript:alert('something1')">Click</a> 
<a href="javascript:prompt('something2')">Click</a> 
<a href="javascript:alert('something3')">Click</a> 
<a href="javascript:prompt('something4')">Click</a> 

要獲得個人組元素,我用document.querySelectorAll("a[href^='javascript:alert(");document.querySelectorAll("a[href^='javascript:prompt");

現在,如何使用一個通用的document.querySelectorAll()來獲取所有包含alert和prompt的<a href元素呢?

我嘗試這樣做:

document.querySelectorAll("a[href^='javascript:prompt(,a[href^='javascript:alert(");

document.querySelectorAll("a[href^='javascript:prompt(","a[href^='javascript:alert(");

和這麼多。但它不起作用,得到"DOMException - not a valid selector"錯誤。

任何幫助?

+0

只需分別選擇他們作爲前和合並的結果? – Shilly

+0

是的,這將工作。但是,我可以在一個聲明中做出來嗎?我希望[有](https://stackoverflow.com/a/18938563/5132413)一種方式 –

+1

是的,這是可能的,給我一下。 – Shilly

回答

3

你的選擇是無效

  1. 缺少的屬性值(')關閉的報價。
  2. 缺少屬性選擇器的結尾]
  3. 同樣使用querySelectorAll得到NodeList,querySelector只返回單個元素。

console.log(
 
    document.querySelectorAll("a[href^='javascript:prompt('],a[href^='javascript:alert(']") 
 
    //----------------------------------------------------^^---------------------------^^^ 
 
);
<a href="javascript:alert('something1')">Click</a> 
 
<a href="javascript:prompt('something2')">Click</a> 
 
<a href="javascript:alert('something3')">Click</a> 
 
<a href="javascript:prompt('something4')">Click</a>

+0

請更正它現在不能正常工作的代碼片段:**「SyntaxError:expected expression,got')'」,** – xxxmatko

+0

@xxxmatko:thanks updated ....由''引起的問題,(逗號) –

+0

@ PranavCBalan謝謝。 –

相關問題