как сохранить ссылку на тэг по которому кликнул ?
Здравствуйте.
есть множество div без класса или id. при клике по одному из них можно поместить x = $(this) в переменную. И позже сделать $(x) и сделать что-то с тем дивом. Но мне надо сохранить х в localstorage. х где-то внутри себя ссылается на самого себя, из-за этого его нельзя конвертнуть в JSON. Хотелось бы узнать как из $(this) достать ссылку на именно это див, что не хранить весь объект. |
mitiya,
храните индекс нажатого элемента var divs = $('div'); var x = divs.index(this); var elem = $('div').eq(x); |
а получить конкретный путь к элементу можно?
что бы использовать индекс надо получить еще и корневой элемент, при сложной структуре это трудно. |
Цитата:
Цитата:
|
если у меня див в диве то как я его найду?
|
mitiya,
я показал как -- попробуйте это применить - сделайте макет с минимальным html - 10 строк кода и будет чудесное исцеление |
localStorage сохранение кликнутых элементов
mitiya,
посмотрите 2 раза, кликать по цифрам <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> div.active::after { content: "(ты тыкал меня уже)"; padding: 0 0 0 5px; } </style> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ var items = JSON.parse(window.localStorage.getItem('x') || "{}"); var divs = $('div'); for(var key in items) { if (items.hasOwnProperty(key)) { $('div').eq(key).addClass('active'); } } window.localStorage.setItem('x', JSON.stringify(items)); divs.click(function(event) { event.stopPropagation(); var i = divs.index(this); items[i] = 1; window.localStorage.setItem('x', JSON.stringify(items)); $('div').eq(i).addClass('active'); }) }); </script> </head> <body> <div > <div >1</div> <div >2</div> <div >3</div> <div >4</div> <div >5</div> <div >6</div> <div >7</div> </div> <div >8</div> <div >9</div> <div >10</div> <div >11</div> <div >12</div> <div > <div >13</div> <div >14</div> <div >15</div> <div >16</div> </div> </body> </html> |
я понял как это работает и оно работает в случае "макет с минимальным html - 10 строк кода",но вот у этих дивов около 700 вперемешку с img и h и тд. и вот это код не работает
$('html, body').animate({ scrollTop: $("div",$('#text')).eq(br.storage.get('pos')).offset().top }, 200); точнее он работает, но скролит не к тому элементу, и чем индекс больше тем больше смещение. |
mitiya,
прокрутка для чего может так http://jsfiddle.net/vlasenkofedor/2St2g/ а так ссылку на которую кликнули можно где угодно сохранить и даже в элемент который кликнули |
mitiya,
да хоть 1000 элементов если это одна и таже страница -- покажите код |
Часовой пояс GMT +3, время: 12:28. |