1

我的 Jquery 代码应该将表单边框的所有输入字段转换为蓝色.. 但它没有这样做......我到底哪里出错了?

<html>

    <head>
        <title>Form</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script>
        <script type="text/javascript">
            $(function () {
                alert('Works !');
                $('#provision:text').css('border', '2px solid blue');
            });
        </script>
    </head>

    <body>
        <form id="provision">ESNList:
            <input type="text" id="ESNList" name="ESNList" size="30" />
            <br />ESN Start:
            <input type="text" id="ESNStart" name="ESNStart" size="10" />
            <br />ESN End:
            <input type="text" id="ESNStart" name="ESNStart" size="10" />
            <br />UnitName:
            <input type="text" id="STxName" name="STxName" size="30" />
            <br />Unit Model:
            <select name="STxName">
                <option value="stx2">STX2</option>
                <option value="protopak">Protopak</option>
                <option value="stm3" selected>STM3</option>
                <option value="acutec">Acutec</option>
                <option value="mmt">MMT</option>
                <option value="smartone">Trackpack</option>
                <option value="smartoneb">SmartOneB</option>
                <option value="audi">Acutec</option>
            </select>
            <br />RTU Model Type:
            <select name="rtumodel">
                <option value="globalstar">GlobalStar</option>
                <option value="both">Both</option>
                <option value="comtech">Comtech</option>
                <option value="stmcomtech">STMComtech</option>
            </select>
            <br />
            <input type="submit" value="submit" />
        </form>
    </body>

</html>
4

6 回答 6

4

您需要实际查询这些<input>节点:

$('#provision input:text').css('border','2px solid blue');});
于 2013-01-15T18:51:37.967 回答
1

您只需要在选择器中有一个空格:

#provision :text

正如所写,它要求元素本身是文本输入,而不是#provision搜索. 空格在选择器中很重要!#provision

但是,您应该注意这:text是一个 jQuery 扩展,因此不如原生选择器快。

因此,更好的选择器是:

$('#provision input[type="text"]')

或者,为了确保您捕获没有显式text类型的节点(但默认为text):

$('#provision input').filter(':text')
于 2013-01-15T18:54:59.337 回答
0
$('#provision input:text').css('border', '2px solid blue');
于 2013-01-15T18:52:29.637 回答
0

这应该工作 - 看到它工作 http://jsfiddle.net/LumF3/

 <script type="text/javascript">
                $(function () {
                    alert('Works !');
                    $('#provision input:text').css('border', '2px solid blue');
                });
 </script>
于 2013-01-15T18:54:29.890 回答
0

在您的情况下,这是正确的 JQuery 文本选择器:

$('#provision input:text').css('border', '2px solid blue');

文本选择器的官方 API 文档:http: //api.jquery.com/text-selector/

于 2013-01-15T19:06:05.577 回答
-1

试试$('#provision input')吧。您正在尝试将边框样式应用于 #provisions 元素内的文本节点。

于 2013-01-15T18:51:47.060 回答