jQuery选择器 input元素什么时候不是empty

<html>

<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">

$(document).ready(function(){
$("#b1").click(function(){
$("input:not(:empty)").css("background-color","#B2E0FF");
});
});

</script>

</head>
<body>
<html>
<body>

<input/>
<input></input>
<input>hehe</input>
<input name="test"></input>
<input value="123"></input>
<input style="background-color:blue" ></input>
//以上全是empty

<br>
<button id="b1">click</button>

</body>
</html>

</body>
</html>

你为什麼不查查文档呢?

定义和用法
:empty 选择器匹配没有子元素(包括文本节点)的每个元素。

input永远都不会有子节点, 永远都是:empty

追问

定义我知道,那文本节点吗。写在两个标签之间的文本是不是也不算(结果就是不算)

追答

input节点只有两种写法

HTML5
<input>
HTML4.01
<input />

看上去这个

<input>hehe</input>

也能解析的原因是HTML语言具有强大的容错能力

事实上它解析为

一个input元素 和同级的 一个文本节点(其内容为'hehe')


再比如

<p>
0
<form>
</form>
1
</p>

事实上解析为

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答