具有多个条件的jQuery选择器

时间:2011-07-26 19:09:20

标签: javascript jquery asp.net html css

尝试做一些非常明显的事情,但它有点没有任何意义/不适合我...

这个想法很简单,当文档被加载时$(document).ready()获取所有输入元素,其中包含属性type =“text”并添加css类“textbox”......

<script type="text/javascript">
    $(document).ready(function () {
        var textboxes = $(":input [type = 'text']");
        textboxes.each().addClass("textbox");
    });
</script>

任何想法为什么这不起作用? ...

编辑:

哇..还有很多东西可以学习jquery-isms ...虽然开始喜欢jquery :)但它的简单性确实很有用。

3 个答案:

答案 0 :(得分:6)

$(document).ready(function () {
    $("input[type='text']").addClass("textbox");
});

在元素input之前不需要冒号。

$("input[type='text']")将引用所有元素,因此不需要each()

答案 1 :(得分:2)

代码中的主要问题是:input伪选择器和type attr选择器之间有空格。删除空间。

也就是说,.each()意味着接收一个应该在匹配集合中的每个元素上运行的函数。然后它返回集合以进一步链接。在你的例子中,给定的每个都没用,所以我删除了它。进一步调整以使转向器正确但有效地匹配应该让您想要:

$( function()
{
    $( 'input[type="text"]' ).addClass( 'textbox' );
} );

答案 2 :(得分:0)

也许我错过了什么,但不应该这样做吗?

<script type="text/javascript">
    $(document).ready(function () {
        $("input[type = 'text']").addClass("textbox");
    });
</script>

您是否有一些理由首先评估var?