【问题标题】:How to use jquery selector having element type and ID如何使用具有元素类型和 ID 的 jquery 选择器
【发布时间】:2015-10-21 23:19:39
【问题描述】:

我正在使用这个选择器 $("textarea #myTextArea").val(text); 它不工作。如果我删除 ID 并使用它正在工作的类。为什么 jquery 在这里找不到元素?

【问题讨论】:

  • fyi,只是 id 在 jquery 中进行了优化 - 你会大大降低选择器的速度
  • 丹尼尔是对的,你应该只使用 $("myTextArea") 而不是你的选择器。它直接使用 javascript 的 getElementById() ,因此快速高效。使用选择器时,脚本将选择所有元素(在本例中为 textareas)并遍历它们,直到找到合适的元素。
  • 是的,但我不能这样做,因为在其他地方使用相同的 ID,在同一页面中,我知道这很糟糕,但我必须忍受。
  • 你为什么要忍受这个?那不是有效的 HTML。也许您正在使用更适合类的 ID?

标签: jquery


【解决方案1】:

因为空间。在textarea 中使用空格表示#myTextArea

$("textarea#myTextArea").val(text);

【讨论】:

【解决方案2】:

只需删除空格:

$("textarea#myTextArea").val(text);

目前,您正在尝试选择 ID 为 myTextArea 的元素,该元素是 textarea 的后代元素

正如 Jared Farrish 在 cmets 中提到的那样,删除元素类型会更有效:

$("#myTextArea").val(text);

如果您的文件有效,那么每个 ID 将只使用一次,所以这仍然是正确的。

【讨论】:

  • 或者完全删除textarea
  • 为了澄清@Manoj,当您使用空格时,它会尝试选择 ID 为 myTextArea 的元素,这些元素是您的 textarea 的 后代
猜你喜欢
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 2013-10-21
  • 2011-01-02
  • 2015-08-18
  • 2022-01-04
  • 1970-01-01
  • 2012-12-01
相关资源
最近更新 更多