2015-05-04 58 views
0

這裏是JavaScript代碼。Javascript單擊查詢選擇器

document.querySelectorAll("li[class='user selected']") 

我想點擊這個元素,但是這個代碼不工作

document.querySelectorAll("li[class='user selected']").click(); 

我怎麼可以點擊這個元素? 謝謝。

編輯:這是HTML代碼

<ul class="search" id="typeahead_list_u_0_2" role="listbox"> 
<li class="user selected" title="Special Username" aria-label="Special Username" role="option" aria-selected="true" id="js_g"> 
<a href="https://..." rel="ignore" target=""><img alt="" src="https://..."> 
<span class="text">Special Username</span> 
</a> 
</li> 
</ul> 
+0

'querySelectorAll'將返回所選元素的數組。不是第一場比賽。使用'querySelector'而不是 –

+0

事實上,當我想返回第一個元素時它工作正常,但問題是點擊事件,我無法點擊。 –

+0

如果你添加HTML代碼,我可以看看它,並可以建議。嘗試把代碼放在小提琴上並分享它。 –

回答

0

你有試過嗎?

document.querySelectorAll("li[class='user selected']")[0].click(); 

會點擊第一([0]li[class='user selected']

+0

是的,我試過了,它不起作用。當我嘗試這段代碼時,我收到一條錯誤消息「Uncaught TypeError:無法讀取nullmessage的屬性'0':無法讀取null的屬性'0'stack:(...)get stack:function(){[native code ]} set stack:function(){[native code]} __ proto__:Error(anonymous function)...「 –

+0

你應該更新你的答案一個html樣本。 –

+0

我已根據您的需求更新 –

0

取出樣品,我已經連接click聽衆。

var element = document.querySelector("li[class='user selected']"); 
 

 
if (element) { 
 
    
 
    // TODO: Attaching sample click listener. Remove it. 
 
    element.addEventListener('click', function() { 
 
     alert('Clicked'); 
 
    }, false); 
 
    
 
    element.click(); 
 

 
}
<li class="user selected" title="Special User Name" aria-label="Special User Name" role="option" aria-selected="true" id="js_x"></li>

+0

感謝您的努力,但它不起作用,我不知道什麼是錯的。 –

+0

你如何附加'click'監聽器? –

+0

我又更新了我的html代碼,或許真的是錯我的代碼 –