【问题标题】:Searching google.com using Javascript/Jquery [duplicate]使用 Javascript/Jquery 搜索 google.com [重复]
【发布时间】:2017-04-08 08:51:09
【问题描述】:

在 google.com 输入上执行检查元素时,我得到:

<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 在这些网站上进行搜索。

【问题讨论】:

  • $ 并不意味着是 jquery。它可以只是他们内部程序员编写的某些选择器函数的命名空间。

标签: javascript jquery


【解决方案1】:

使用$("#lst-ib") 检索的对象不是您常用的 jquery 对象。 Google 必须使用自定义的 JS 库。但是,您可以通过以下方式更改输入的值:

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

【讨论】:

  • $("#lst-ib").value 肯定不会工作...
  • @Rayon : 试过了,确实:)
  • OP 说“在 google.com 输入上执行检查元素”。在 google.com 上的控制台中尝试一下,因为这正是他想要做的。
【解决方案2】:

原因是google不使用jQuery,所以你不能在那里使用jQuery函数。

试试这个

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

它会按照你的预期改变搜索输入。

【讨论】:

  • 非常感谢您的回答!
  • @SKG 不客气 :)
【解决方案3】:

$ 并不总是意味着它的jQuery。它可以用作任何库的简写。

如果您想将$ 用作Jquery,则始终将jQuery 作为对象传递,然后使用.. 像

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-11
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    相关资源
    最近更新 更多