無止境地嵌套 <div> 標記和 jQuery

這似乎是一個古怪的話題, 我不確定這的確值得有關的博客, 但是,從未停止過我, 所以在這裡我們去 微笑

我正在那裡我揪一些資料從搜索專案, 打包成一條 XML 消息,然後該 XML 是最終轉換為 XSLT 通過 HTML。  有很多的 jQuery 涉及, 其中一位實現一些定位字元的功能。  當您按一下某個選項卡上 (真的, 一 <div>), jQuery 調用.hide() 和.show() 對各種 div (初始頁面載入下載的所有內容,所以在這種情況下有沒有回發).

一群小時前, 選項卡切換邏輯開始運行不穩定,它不會顯示我的選項卡中的一個。  我最終跟蹤它的事實,ie 瀏覽器 (至少) 原以為, <div> 到目前為止的嵌套標籤, 遠比預期更深。將顯示開發人員工具列:

-<div id ="Tab1Content">
  -<div>
    -<div>
      -<div id ="Tab2Content">
        -<div>
           …………………………
                   </div>  <— — 終於呈現它一路下來被關閉!

所以, 如果我做了 $("#"Tab1Content).隱藏(), 我還會隱藏前臺,我可能永遠不會告訴前臺是否我還沒給看標籤頁 1。  複製,並且的代碼粘貼到 visual studio 和它很好地顯示所有 div 的襯砌起來的, 就像他們應該做的事情, 這樣看:

-<div id ="Tab1Content">
  +<div>
  +<div>
-<div id ="Tab2Content">
  +<div>
  +<div>

我的頭靠在牆上打了一會兒,並注意到在實際的 HTML 代碼產生大量的空 <div> 標籤, 像:

<正文>

  <div id ="Tab1Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

  <div id ="Tab2Content">

    <div id ="第一行"/>
    <div id ="行 2"/>

  </div>

</正文>

(以上是過於簡單化的 waaaaaaaaaaaay。  空的 div 標籤都是完全有效. 一些我 <div> 標記是內容的完整, 但更多的不是。  我認識到,那我 <xsl:為每個> 指令發出短型 div 標籤時 xsl:對於每個才 ' 找到的任何資料。  被迫輸出的 HTML 注釋, 如圖所示:

image

 

畢竟這樣做, 所有 div 的很好地都排隊和我選項卡切換開始工作.

如往常一樣, 我希望這將有助於在必要時有人.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

留言

您的電子郵件地址不會被公開. 必需的地方已做標記 *