通过JQuery选择没有id的内部元素

Posted

技术标签:

【中文标题】通过JQuery选择没有id的内部元素【英文标题】:Select inner element with no id by JQuery 【发布时间】:2018-10-22 07:06:46 【问题描述】:

假设我有这个div 块:

<div id="some_id" style="display: none;">
    <form action="someAction" method="post">
        <input type="hidden" name="some-name" value="some-value">
    </form>
</div>

我需要在这个div 中选择form。我可以通过$('#some_id') 选择div,但是当我尝试通过$('#some_id').find('form')(或get$('#some_id:form'))选择form 时,我收到此错误:

Uncaught TypeError: $(...).find is not a function

任何可能的解决方案?

【问题讨论】:

$ 可能不是 jQuery? console.log($.fn.jquery) 看看有没有版本号。 我得到了Cannot read property 'jquery' of undefined,但$('#some_id') 怎么工作? What is the dollar sign in javascript, if not jQuery的可能重复 评论是“可能重复”而不是问题本身。 副本可以解释为什么 $ 在您的用例中不是 jQuery。 $('#some_id').find('form') 是一个有效的操作。如果 '$' 不是 jQuery,那么这个问题的答案就像“在你的页面中包含 jQuery”一样简单 【参考方案1】:

只要 jQuery 正确包含在您的页面中,并且您正确地使用 $jQuery 引用它(如果它处于 noConflict 模式),您的尝试没有任何问题。

console.log(
  $('#some_id').find('form').get()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="some_id" style="display: none;">
    <form action="someAction" method="post">
        <input type="hidden" name="some-name" value="some-value">
    </form>
</div>

【讨论】:

【参考方案2】:

您不希望: 选择您想要的孩子&gt;

您的选择器应如下所示:

$('#some_id > form')

还要确保你包含了 jQuery,看起来你的代码找不到它。

【讨论】:

&gt; 在技术上是不必要的。

以上是关于通过JQuery选择没有id的内部元素的主要内容,如果未能解决你的问题,请参考以下文章

从 jQuery 选择中删除没有 id 的元素?

jQuery 中的 DOM 选择器,用于没有 ID 或 CLASS 名称标签的元素

JQuery获取元素的方法总结

js控制iframe内部css样式

jquery有几种选择器

jquery——通过name属性查找元素