首页 新闻 赞助 找找看

Jquery选择器我请教个问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-07-22 18:14

$("form input") 和$("form :input")区别 求解释下

普通用户的主页 普通用户 | 初学一级 | 园豆:54
提问于:2012-07-20 12:41
< >
分享
最佳答案
1

从类型上说,$("form input")是后代选择器,$("form :input")是元素过滤选择器。

$("form :input")包括textarea、select、button但$("form input")不包括。

你运行一下这个DEMO就知道了:

<!DOCTYPE html>
<html>
<head>
  <style>
  textarea { height:25px; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <form>
    <input type="button" value="Input Button"/>
    <input type="checkbox" />

    <input type="file" />
    <input type="hidden" />
    <input type="image" />

    <input type="password" />
    <input type="radio" />
    <input type="reset" />

    <input type="submit" />
    <input type="text" />
    <select><option>Option</option></select>

    <textarea></textarea>
    <button>Button</button>
  </form>
  <div id="messages">
  </div>
    <script>
        var allInputs = $("form :input");
        var formChildren = $("form input");
        $("#messages").text("Found " + allInputs.length + " inputs and the form has " + formChildren.length + " children.");
        $("form").submit(function () { return false; }); 
    </script>
</body>
</html>
收获园豆:10
artwl | 专家六级 |园豆:16736 | 2012-07-20 12:51

$("form input")是后代选择器选择form下的input 如果用JS写的话 怎么样表示啊

普通用户 | 园豆:54 (初学一级) | 2012-07-20 13:36

@普通用户: 你的意思是不用jQuery如何写吗?

artwl | 园豆:16736 (专家六级) | 2012-07-20 13:37

@artwl: 对啊 假如用js写的话 怎么写

普通用户 | 园豆:54 (初学一级) | 2012-07-22 10:56

@普通用户: 

var form=document.forms[0],
    inputs=form.getElementsByTagName("input");
document.write(inputs.length);//10
artwl | 园豆:16736 (专家六级) | 2012-07-22 14:03

@artwl: 在问最后一个问题啊 假如$("form :input")表单不用jquery用JS的话 要怎么写了 这个应该比较复杂吧

普通用户 | 园豆:54 (初学一级) | 2012-07-22 14:13

@普通用户: 嗯,这个要复杂一些,还要用

getElementsByTagName("button")
getElementsByTagName("select")
getElementsByTagName("textarea")
artwl | 园豆:16736 (专家六级) | 2012-07-22 14:30
其他回答(3)
0

:input 包含 select 和 textarea

飞扬的尘埃 | 园豆:1318 (小虾三级) | 2012-07-20 12:45
0

看看也能学习到

Shannon | 园豆:611 (小虾三级) | 2012-07-20 16:42
0

学习+关注下!

Tom.汤 | 园豆:3026 (老鸟四级) | 2012-07-21 08:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册