Бясконцая ўкладзенасць <спраў> Тэгі і JQuery

Гэта падобна на такія дзіўныя тэмы, Я не ўпэўнены, што гэта сапраўды варта блог аб, але гэта ніколі не спынілі мяне раней, так што тут мы ідзем ўсмешка

Я працую на праект, дзе я пацягнуўшы некаторыя дадзеныя з пошуку, упакоўкі яго ў XML-паведамленні, а затым, што XML, у канчатковым рахунку ператвараецца ў HTML з дапамогай XSLT.  Там вельмі шмат JQuery ўдзел, 1 біт, які рэалізуе некаторыя функцыянальныя клавішы табуляцыі.  Пры націску на ўкладцы (на самай справе, a <спраў>), JQuery выклікае. Хаваць() а. шоў() на розных дзівы (першапачатковай загрузкі старонкі загружае усё змесціва таму няма зваротнай перадачы ў гэтым выпадку).

Куча гадзін таму, На ўкладцы пераключэння логікі пачаў працаваць нестабільна і не паказаў бы адзін з маіх закладак.  Я ў канчатковым рахунку, адсочвалі яго да таго, што Internet Explorer (па меншай меры) лічылася, што <спраў> тэгі укладзеныя далёка, значна глыбей, чым intended.The панэлі інструментаў распрацоўніка пакажа:

-<DIV ID = "Tab1Content">
  -<спраў>
    -<спраў>
      -<DIV ID = "Tab2Content">
        -<спраў>
           ..............................
                   </спраў>  <-Нарэшце, паказваць яго зачынілі ўсе шляхі сюды!

Так, калі б я зрабіў $("# Tab1Content").хаваць(), Я таксама схаваць Таб2, і я ніколі не мог паказаць Таб2, калі я не паказваюць таксама Таб1.  Я скапіяваць і ўставіць код на ў Visual Studio, і яна паказала ўсё падшэўка спраў у прыгожа, гэтак жа, як яны павінны рабіць, у такім выглядзе:

-<DIV ID = "Tab1Content">
  +<спраў>
  +<спраў>
-<DIV ID = "Tab2Content">
  +<спраў>
  +<спраў>

Я біцца галавой аб сцяну на працягу некаторага часу і заўважылі, што ў самім кодзе HTML быў выклікаюць шмат пустых <спраў> тэгі, накшталт:

<цела>

  <DIV ID = "Tab1Content">

    <DIV ID = "row1" />
    <DIV ID = "row2" />

  </спраў>

  <DIV ID = "Tab2Content">

    <DIV ID = "row1" />
    <DIV ID = "row2" />

  </спраў>

</цела>

(Вышэй waaaaaaaaaaaay больш спрошчаны.  Пустыя тэгі DIV, цалкам сапраўдныя. Некаторыя з маіх <спраў> тэгі былі поўныя зместу, але многія больш не было.  Я прыйшоў да ўсведамлення таго, што мая <XSL:для кожнага,> дырэктывы выпраменьваючых кароткая форма тэгі DIV, калі XSL:для кожнага, не "знайсці ніякіх дадзеных.  Я вымушаны HTML каментар у выхадны, як паказана на малюнку:

image

 

Пасля таго як я зрабіў гэта, ўсіх спраў ён выбудаваны прыгожа і мой рахунак пераключэння пачаў працаваць.

Як заўсёды, Спадзяюся, гэта дапаможа камусьці ў цяжкую хвіліну.

</канец>

Падпісацца на мой блог.

Выконвайце за мной на Twitter у http://www.twitter.com/pagalvin

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя палі пазначаныя * *