我的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>
您需要实际查询这些<input>
节点:
$('#provision input:text').css('border','2px solid blue');});
你只需要在选择器中留一个空格:
#provision :text
如所写,它要求#provision
元素本身是一个文本输入,而不是搜索#provision
的后代。空格在选择器中很重要!但是,您应该注意到:text
是一个jQuery扩展,因此不如本机选择器快。
$('#provision input[type="text"]')
或者,为了确保捕获没有显式text
类型(但默认为text
)的节点:
$('#provision input').filter(':text')
以下是适合您的JQuery文本选择器:
$('#provision input:text').css('border', '2px solid blue');
文本选择器的官方API文档:http://api.jquery.com/text-selector/
$('#provision input:text').css('border', '2px solid blue');
这应该可以工作-看到它工作http://jsfiddle.net/LumF3/
<script type="text/javascript">
$(function () {
alert('Works !');
$('#provision input:text').css('border', '2px solid blue');
});
</script>
试试$('#provision input')
。您正在尝试将边框样式应用于#provisions元素中的文本节点。