国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery 判斷元素整理匯總

2019-11-19 17:24:09
字體:
來源:轉載
供稿:網友

是否含有某 class

在表單提交之前,我們往往要利用 JavaScript 校驗用戶輸入值,如果用戶輸入有誤,那么我們就往該表單元素添加一個 error 的 class,再配合 CSS,該表單元素就顯示為紅色,以提醒用戶。

最后我們還要根據是否有 error 來決定是否提交表單。怎么判斷呢?如下:

<input type="text" name="username" /><input type="text" name="password" class="error" /><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript"><!--alert($("input").hasClass("error"));//--></script>

用 hasClass 即可。只要有一個元素具備 error 這個 class,那么就返回 true;只有所有元素都不具備 error,才返回 false。

元素是否存在

if ($("#good").length <= 0) {  alert("不存在。");}else {  alert("存在。");}

如上,用 length 屬性判斷數組長度,以決定元素是否存在。

是否 checked

<input type="checkbox" checked="true" /><input type="checkbox" checked="false" /><input type="checkbox" checked="disabled" /><input type="checkbox" checked="hahaha" /><input type="checkbox" checked /><input type="checkbox" /><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript"><!--$("input").each(function (){  alert($(this).attr("checked"));});//--></script>

如上代碼,有六個 input,顯示為:前五個為選中狀態,最后一個為未選中。

alert 時:前五個為 checked,最后一個為 undefined。

也就是說只要標簽中有 checked,即為選,與其屬性值無關,而 jQuery 取屬性值時也是這么認的。要判斷是否選中,用 attr("checked") == "checked" 即可。

不過對于 radio 要注意

<input type="radio" name="r1" checked="true" /><input type="radio" name="r1" checked="false" /><input type="radio" name="r1" checked="disabled" /><input type="radio" name="r1" checked="hahaha" /><input type="radio" name="r1" checked /><input type="radio" name="r1" /><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript"><!--$("input").each(function (){  alert($(this).attr("checked"));});//--></script>

如上代碼,有六個 input,由于是 radio,且 name 相同,顯示為:第五個為選中狀態,其余為未選中。

alert 時:前五個為 checked,最后一個為 undefined。

所以 jQuery 在這里要注意一下,它取的值與顯示情況不符。

應付 radio 更好的辦法

有時候,我們只需要關心已經選中的 radio,所以可以這么做:

<input type="radio" name="r1" value="1" checked="true" /><input type="radio" name="r1" value="2" checked="false" /><input type="radio" name="r1" value="3" checked="disabled" /><input type="radio" name="r1" value="4" checked="hahaha" /><input type="radio" name="r1" value="5" checked /><input type="radio" name="r1" value="6" /><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript"><!--alert($("input:radio:checked").val());//--></script>

這樣結果就是 5。

是否禁用

<input type="text" disabled="true" /><input type="text" disabled="false" /><input type="text" disabled="disabled" /><input type="text" disabled="hahaha" /><input type="text" disabled /><input type="text" /><script type="text/javascript" src="jquery-3.1.1.min.js"></script><script type="text/javascript"><!--$("input").each(function (){  alert($(this).attr("disabled"));});//--></script>

如上代碼,有六個 input,顯示為:前五個為禁用狀態,最后一個為可用。

alert 時:前五個為 disabled,最后一個為 undefined。

也就是說只要標簽中有 disabled,即為禁用,與其屬性值無關,而 jQuery 取屬性值時也是這么認的。要判斷是否禁用,用 attr("disabled") == "disabled" 即可。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 星子县| 美姑县| 天等县| 凤翔县| 新疆| 宜宾市| 棋牌| 宝鸡市| 池州市| 涿鹿县| 松滋市| 射阳县| 鄂州市| 正安县| 成都市| 钦州市| 河源市| 武城县| 南通市| 教育| 麻栗坡县| 拉萨市| 庆阳市| 平远县| 福安市| 温泉县| 鄄城县| 嘉义市| 丹凤县| 邛崃市| 韶山市| 驻马店市| 工布江达县| 垦利县| 宜兰市| 安远县| 天水市| 安乡县| 渭源县| 龙里县| 台东县|