2016-11-24 53 views
1

在執行在google.com檢查元素輸入搜索google.com,我得到:使用Javascript/jQuery的

<input class="gsfi" id="lst-ib" maxlength="2048" name="q" autocomplete="off" title="Search" type="text" value="" aria-label="Search" aria-haspopup="true" role="combobox" aria-autocomplete="both" dir="ltr" spellcheck="false" style="border: none; padding: 0px; margin: 0px; height: auto; width: 100%; background: url(&quot;data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D&quot;) transparent; position: absolute; z-index: 6; left: 0px; outline: none;"> 

現在,如果我做的:$("#lst-ib"),我得到的輸入對象的要求。但是,如果我做的:$("#lst-ib").val("hello world!"),我得到一個錯誤:

Uncaught TypeError: $(...).val is not a function(…) 

同樣的事情與Bing.com發生。有人可以解釋爲什麼會發生這種情況,我如何使用JavascriptJquery在這些網站上進行搜索。

+1

$並不意味着是jQuery的。它可以是由內部程序員寫的某個選擇器函數的名稱空間。 – Simon

回答

1

原因是谷歌不使用jQuery,所以你不能使用jQuery函數那裏。

試試這個

//change the input 
document.getElementById("lst-ib").value = "What you want to find"; 
//submit form 
document.getElementById("tsf").submit(); 

它將改變搜索輸入你的預期。

+0

非常感謝您的回答! – SKG

+0

@SKG不客氣:) –

0

$("#lst-ib")一起檢索的對象不是您常用的jquery對象。 Google必須使用自定義的JS庫。但是,您可以通過這個改變輸入的值:

$("#lst-ib").value = 'new value'; 
+0

'$(「#lst-ib」).value'肯定不行... – Rayon

+0

@Rayon:試過了,它確實:) – owaisafaq

+0

https://jsfiddle.net/rayon_1990/ozhwvz3L/ – Rayon

0

$ dosen't總是指它的jQuery。它可以用作任何圖書館的簡寫。

如果你想使用$Jquery始終只能通過jQuery作爲對象,然後使用..喜歡

(function ($) { 
    //jQuery Code. 
})(jQuery);