我有一段这样的HTML:
<body>
<div id="main" class="popup">
<h1> Webpage chatter </h1>
<button id="signOut">Sign Out</button>
<div id="welcome-section">
<div id="invalid-error-msg" class="invalid-input-text">
</div>
</div>
...
还有一个修改id = invalid-error-msg元素的jquery脚本:
$("#invalid-error-msg").append("<p>Too short. Display name must be 6 or more characters.</p>");
jquery找不到invalid-error-msg id,但是如果我像下面这样取消嵌套该div,它将找到它并对其进行毫无问题的修改。
<body>
<!-- show a text box, a list of persons in chat, chat box, header title -->
<div id="main" class="popup">
<h1> Webpage chatter </h1>
<button id="signOut">Sign Out</button>
<div id="welcome-section">
</div>
<div id="invalid-error-msg" class="invalid-input-text">
</div>
为什么会这样?这是正常行为吗?
jQuery总是找到一个元素,只要它存在于呈现的DOM中。因此,您可能需要检查id =“ welcome-section”(包装器/父级)CSS。它必须被隐藏或不显示。