jquery嵌套时找不到ID,但未嵌套时找到ID

问题描述 投票:0回答:1

我有一段这样的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>

为什么会这样?这是正常行为吗?

javascript jquery html jquery-selectors
1个回答
0
投票

jQuery总是找到一个元素,只要它存在于呈现的DOM中。因此,您可能需要检查id =“ welcome-section”(包装器/父级)CSS。它必须被隐藏或不显示。

© www.soinside.com 2019 - 2024. All rights reserved.