关于jquery获取input里面的,$('input:text.items')这个东东是啥?

$('input:text.items').val(function( index, value ) {
return value + ' ' + this.className;
});
这个例子将字符串" items" 附给文本框。

上面这段是我的读jquery API文档时里面的,但是看到$('input:text.items')的时候我有点懵了,不知道这个是啥意思,我console出来的东西是这个。
clipboard.png

不知道获取的是什么东西。

阅读 4.4k
4 个回答

其实是你想太多了,那个只是jq的选择器而已。

input是选择所有的input标签,:text是选择type="text"类型的标签,.items是选择class包含items的标签,放在一起选择就是:

<input type="text" name="" class="items">

当然如果此input还有别的class也能被选择到,只要他是input,type="text",并且还有items的class即可。

你可以试下如下三个input的显示结果,你应该就明白了:

<input type="text" name="">
<input type="text" name="" class="items">
<input type="text" name="" class="items items2">

第一个是 空的
第二个是 items
第三个是 items items2

所以此处的.items并不是jq的特殊用法,只是jq的类名选择器,所以也可以写成这个样子:

$('input.items:text')

input:text表示type="text"类型的input。
加上.items这个还真没见过,按照官方的说法,整个的意思就是:

将字符串" items" 附给类型为text的文本框

打印出来的是包含dom结构在内的一些数据,你点开0:input,这个就是指向你改动的那个input标签

表示获取输入框类型为text且类名为itemsinput,那个.就表示的是class类名,若是#号就是表示id

个人推荐看愚人码头版的jQ文档,首页有快速参考,能很方便的找到:text条目(可以用浏览器的Ctrl+F直接搜)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进