Jquery ұялы мәзірін қосады (href javascript жою)

Мен клиенттердің біреуі үшін мобильді веб-сайт үшін jQuery ауыстырғыш мәзірін жасауға тырысамын. Мен айтайын, javascript-де тәжірибем жоқ, мен оны қарап бастадым.

Ағымдағы веб-сайт Wordpress веб-торабы болып табылады, сондықтан мәзір құрылымы WP арқылы жасалады.

Because this is generated by WP i need to use JavaScript to manipulate the data for adding the + - and > signs for toggleing and if no childeren to go directly to the page.

Мен осы javascript-ды аралықтарды қалаған белгішеге қосу үшін қолданамын. Мен әлі күнге дейін басқарғанмын.

http://jsfiddle.net/9Dvrr/9/

Бірақ әлі де екі проблема бар, мен түсінбеймін.

  1. «li» «ul» баласы болған кезде «a» -ден «href» дегенді алып тастаңыз. Бұл элементтердің сілтемелерін алып тастау керек, сонда олар тек ең терең деңгейге өту үшін ғана қосылатын болады (сілтеме емес).
  2. Қазіргі уақытта JavaScript белгішелермен муфталар аралығын қосады. Мен түсінбеймін, неге

Мен осы уақытқа дейін осыдан сабақ алып жүрмін және біреу маған осы мәселе бойынша көмектесе алады ма?

0

2 жауаптар

Сіз көрсеткен jsfiddle ішінде, сіз істің жағдайына қарай, «+» немесе «-» белгісімен аралықтарды қосу үшін элементтерді айналдыра аласыз. Мәселе мынада, қазірдің өзінде сіз бастаған HTML сізде сол кеңістікте болады, сондықтан кейбір көшірмелерді көресіз.

Сіз WP құрылымыңыздың арқасында HTML-ке осы сұлбаларды қосу мүмкін емес деп айтқаныңызда, олар jsfiddle жасау кезінде жасаған жаман көшірмеден/пастадан шыққан деп ойлаймын. Мен оларды HTML-де алып тастадым және тегтің ішінде ul болғанда басқа бетке байланыстыруды болдырмау үшін return false қосылды.

http://jsfiddle.net/wzzGG/

1
қосылды
Сіз бұл жерде қайда болса да, онда жаман көшірмеден/пастадан бұл үшін кешірім бар. Қалай болса да, «қайтару жалған» әлі күнге дейін мәзірдің ең төменгі деңгейінде, яғни, тегтің ішінде ul жоқ. және> көрсеткі көрсетілуі керек. (сізде «Reserveren» сияқты jsfiddle)
қосылды автор jfvandekamp, көзі
Btw-ге көмек беруіме рахмет. Оны шынымен бағалаңыз!
қосылды автор jfvandekamp, көзі
Менің ойымша келесі мәселе: егер ($ this.has ('ul') балалар ('a') ұзындығы> = 1) {$ this.find ('a'). append (« + addClass ('plus') - click (function() {Бұл span + + қайтарады және «UL» ішіндегі барлық «a» тегтерін қайтарады, бірақ «ul» «ul» осы «a» тегтері барлық «splitter» және «ul» қайтаратын болады. Келесі «a» тегін табыңыз және оны span% return
қосылды автор jfvandekamp, көзі

Сіздің алғашқы проблемаңызды төмендегілермен шешуге болады:

$.each($('#menu-mobiel li'), function(i, value) {
    var $this = $(this);
    if ($this.has('ul').length > 0) {
        $this.children('a').attr('href','javascript:');
    }

Your second problem is a bit harder for me to understand. Do you only want one + for items with submenus, and one > for items with a link?

0
қосылды
Мен іздеймін. Лео мені жаман көшірмені жариялады/HTML-де кейбір кеңістіктерді қосты, бұл одан да көп спанстар береді.
қосылды автор jfvandekamp, көзі