亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么第二種寫法沒辦法篩選出正確的結果?

<!DOCTYPE?HTML>
<html>
<head>
????<meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8">
????<title>getAttribute()</title>
</head>
<body>
<p?id="intro">課程列表</p>
<ul>
????<li?title="第1個li">HTML</li>
????<li>CSS</li>
????<li?title="第3個li">JavaScript</li>
????<li?title="第4個li">Jquery</li>
????<li>Html5</li>
</ul>
<p>以下為獲取的不為空的li標簽title值:</p>
<script?type="text/javascript">
????var?con=document.getElementsByTagName("li");
????for?(var?i=0;?i<?con.length;i++){
????????//第一種寫法
?????/*???text=con[i].getAttribute("title");
????????if(text!=null)
????????{
????????????document.write(text+"<br>");
????????}*/
?????//第二種寫法
???????if(con[i].title!=null)
????????{
????????????document.write(con[i].title+"<br>");
????????}
????}
</script>
</body>
</html>


正在回答

5 回答

if(con[i].title!='')????????
{????????????
document.write(con[i].title+"<br>");??????
??}
??因為默認不是null。


0 回復 有任何疑惑可以回復我~
if?(text)?{
????????????document.write(text+"<br>");
????????}

這樣判斷的話就能判斷出值為null 或者""空字符的情況

0 回復 有任何疑惑可以回復我~

第二種并沒有選到節點

con[i].title

改為

con[i].getAttribute("title")
就可以正確執行


0 回復 有任何疑惑可以回復我~

你的第一個方法好像也不行,看不到效果



0 回復 有任何疑惑可以回復我~
#1

周飛飛zzz

var text=con[I].......
2018-07-21 回復 有任何疑惑可以回復我~

Null的數據類型只有一個值就是null,可以做個測試:

var?a?=?null;
var?b?=?"";
var?c;
document.wirte(a?+?"<br>");//輸出為null
document.wirte(b?+?"<br>");//輸出為空
document.wirte(c?+?"<br>");//輸出為undefined

所以你第二中方法用人類語言來說就是:如果con[i].title不等于null這個判斷是true的時候,然后執行后面的代碼,Null的數據類型只有null一個值,在沒有聲明con[i].title 等于null的時候,永遠都不會出現con[i].title不等于null,也就是con[i].title永遠為true,這里有點繞,不知道你能不能看懂?你可以在你的第二種方法下alert一下看看,執行下面代碼,會彈出5次true。

if(con[i].title!=null){
????document.write(con[i].title+"<br>");
????alert(con[i].title!=null);
}

con[1].title(第二個li元素)和con[4].title(第五個li元素)的title是空,但不是null,所以判斷條件也會是true,

if(con[i].title!=null){
????document.write(con[i].title+"<br>");//第二個和第五個li元素是空,但不是null?,繼續執行+?換行符
}

你的的這個第二種方法的判斷條件改成 con[i].title!=""(不等于空) 就和你第一種方法是一樣的了:

if(con[i].title!=""){
????document.write(con[i].title+"<br>");//第二個和第五個li元素為空跳過執行
}


0 回復 有任何疑惑可以回復我~
#1

風起臨冬

也就是值可以用null表示,屬性不可以?
2018-08-02 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么第二種寫法沒辦法篩選出正確的結果?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號