在google.com输入上执行inspect元素时,我得到:
<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("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw%3D%3D") 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也发生了同样的事情。有人可以解释为什么会这样,我如何使用Javascript
或Jquery
在这些网站上搜索。
答案 0 :(得分:1)
原因是谷歌不使用jQuery,所以你不能在那里使用jQuery函数。
试试这个
//change the input
document.getElementById("lst-ib").value = "What you want to find";
//submit form
document.getElementById("tsf").submit();
它会按预期更改搜索输入。
答案 1 :(得分:0)
使用$("#lst-ib")
检索的对象不是通常的jquery对象。 Google必须使用自定义的JS库。但是,您可以通过以下方式更改输入值:
$("#lst-ib").value = 'new value';
答案 2 :(得分:0)
$
dosen始终是指jQuery
。它可以用作任何库的简写。
如果您想将$
用作Jquery
,请始终将jQuery
作为对象传递,然后使用..赞
(function ($) {
//jQuery Code.
})(jQuery);