21.08.2013, 03:00
|
Интересующийся
|
|
Регистрация: 20.08.2013
Сообщений: 21
|
|
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]); - меняет содержание тега, но тег оставляет, как его убрать?
Последний раз редактировалось webinsoul, 22.08.2013 в 14:48.
|
|
21.08.2013, 05:01
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
зачем getElementById? Оптимизация типа ? )))
$('#' + id).remove()
|
|
21.08.2013, 05:07
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
Думаю, как-то так:
$(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('Это всё');
});
});
});
Не проверял, но должно работать.
|
|
21.08.2013, 06:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сообщение от webinsoul
|
$(document.getElementById(id)).html(myArray[1]); - меняет содержание тега, но тег оставляет, как его убрать?
|
Цитата:
|
.replaceWith()
.replaceAll() Заменяет одни элементы страницы на другие (новые или уже существующие).
|
|
|
21.08.2013, 11:31
|
Интересующийся
|
|
Регистрация: 11.08.2013
Сообщений: 28
|
|
...
if (myArray[0] == 1) {
var oldNode = getElementById(id);
oldNode.parentNode.replaceChild(myArray[1], oldNode);
} ...
|
|
21.08.2013, 13:13
|
Интересующийся
|
|
Регистрация: 20.08.2013
Сообщений: 21
|
|
Спасибо за ответы.
Сообщение от danik.js
|
зачем getElementById? Оптимизация типа ? )))
$('#' + id).remove()
|
Попробовал - не работает. Может неверно впихнул в код
Сообщение от Ruslan_xDD
|
Думаю, как-то так:
...
Не проверял, но должно работать.
|
Не срабатывает
Сообщение от moskitos80
|
...
if (myArray[0] == 1) {
var oldNode = getElementById(id);
oldNode.parentNode.replaceChild(myArray[1], oldNode);
} ...
|
Не срабатывает
.replaceWith() - меняет полностью, но задача в следующем:
нужно, чтоб при нажатии на старый ДИВ, он менялся на див из js/js3.php уже со своим id и при повторном нажатии снова выполнялся js3.php с новыми id.
Подскажите, как это правильно реализовать.
|
|
21.08.2013, 13:24
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
$(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 получаете?
|
|
21.08.2013, 13:41
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Вот что-то вроде этого. Смысл думаю понятен:
$(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);
});
|
|
21.08.2013, 13:49
|
Интересующийся
|
|
Регистрация: 20.08.2013
Сообщений: 21
|
|
Сообщение от Ruslan_xDD
|
А где Вы новый ID получаете?
|
Новый Id с js/js.php
|
|
21.08.2013, 13:51
|
Интересующийся
|
|
Регистрация: 20.08.2013
Сообщений: 21
|
|
Сообщение от danik.js
|
Вот что-то вроде этого. Смысл думаю понятен:
$(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);
});
};
$("div.tile").click(handler);
});
|
Бомба!!! Спасибо
Последний раз редактировалось webinsoul, 22.08.2013 в 14:48.
|
|
|
|