getElementById - помогите разобраться
Код:
<script type="text/javascript"> $(document).ready(function(){ $(function() { $("div.tile").click(function(){ var id = $(this).attr("id"); var start = 1; $.ajax ({ url: "http://site.com.ua/js/js3.php", type: "GET", data: {"id": id, "start": start}, cache: true, success: function(response) { var myArray = response.split('abra_kadabra') if (myArray[0] == 1) { $(document.getElementById(id)).html(myArray[1]); } else { alert('это все'); } } }); }); }); }); </script> $(document.getElementById(id)).html(myArray[1]); - меняет содержание тега, но тег оставляет, как его убрать? |
зачем getElementById? Оптимизация типа ? )))
$('#' + id).remove() |
Думаю, как-то так:
$(function() { $("div.tile").click(function() { $.get('http://inwatch.com.ua/js/js3.php', {id: this.id, start: 1}, function(data) { data = data.split('abra_kadabra'); if(data[0] == 1) $('#'+this.id).prev().after(data[1]).next().remove(); else alert('Это всё'); }); }); }); Не проверял, но должно работать. |
Цитата:
Цитата:
|
... if (myArray[0] == 1) { var oldNode = getElementById(id); oldNode.parentNode.replaceChild(myArray[1], oldNode); } ... :) |
Спасибо за ответы.
Цитата:
Цитата:
Цитата:
.replaceWith() - меняет полностью, но задача в следующем: нужно, чтоб при нажатии на старый ДИВ, он менялся на див из js/js3.php уже со своим id и при повторном нажатии снова выполнялся js3.php с новыми id. Подскажите, как это правильно реализовать. |
$(function() { $("div.tile").click(function() { $.get('http://inwatch.com.ua/js/js3.php', {id: this.id, start: 1}, function(data) { data = data.split('abra_kadabra'); if(data[0] == 1) $('#'+this.id).html(data[1]).prop('id', 'new_ID'); else alert('Это всё'); }); }); }); А где Вы новый ID получаете? |
Вот что-то вроде этого. Смысл думаю понятен:
$(function() { var handler = function() { var target = $(this); $.get('http://inwatch.com.ua/js/js3.php', {id: this.id, start: 1}, function(data) { data = data.split('abra_kadabra'); var el = $(data[1]); target.replaceWith(el); el.click(handler); }); }; $("div.tile").click(handler); }); |
Цитата:
|
Цитата:
|
Немного поменял свою задачу (решил сделать эстетичней, Вы уж простите за мои глупости :-? ), относительно этого кода:
$(function() { var handler = function() { var target = $(this); $.get('http://site.com.ua/js/js3.php', {id: this.id, start: 1}, function(data) { data = data.split('abra_kadabra'); var el = $(data[1]); target.replaceWith(el); el.click(handler); }); }; $("span.vrnt").click(handler); }); $("span.vrnt") - находится в $("div.tile"), у каждого свой id, но начинаются одинаково: span.vrnt - id='Brand|Model/2' div.tile - id='Brand|Model' Как указать в 03 или 07 строчке кода, что нужно менять не span.vrnt, а div.tile, собственно, в котором span.vrnt |
Если я правильно понял, то:
var target = $(this).parent(); |
Цитата:
<script type="text/javascript"> $(function() { var handler = function() { var target = $(this).parent().parent(); $.get('http://site.com.ua/js/js3.php', {id: this.id}, function(data) { data = data.split('abra_kadabra'); var el = $(data[1]); target.replaceWith(el); el.click(handler); }); }; $("span.vrnt").click(handler); }); </script> Да, спасибо, но появилась другая проблема: Теперь при повторном клике на span ('<' '>') сносятся родители, игнорируя вставленный код (если я правильно понимаю) вот ссылка на всякий случай |
Часовой пояс GMT +3, время: 16:37. |