2014-10-24 2 views
0

Мне удалось изменить текст на моей кнопке с помощью Javascript.Изменение динамического элемента html-элемента с помощью Javascript

Используя этот код

$("#unfriend").click(function(){ 
    $.post("/unfriend/<?= $friend_but->id ?>", 
    function(data,status){ 
     //alert(data); 
     if (data == 'ok') { 
      alert(data); 
      $('#unfriend').html('Add Friend'); 
     }; 
    }); 
}); 

Но у меня есть проблема, как можно изменить идентификатор #unfriend в #addfriend?

Я добавил $('#unfriend').setAttribute('id','addfriend');, но он не работает. И когда я также добавил этот код, текст в моей кнопке не меняется.

+0

надеюсь, что вы может использовать $ ("# unfriend") .replaceWith ($ ("#friend") .html («ваш текст»)); – Aru

+0

не работает. Моя кнопка исчезает, когда я нажимаю на нее. –

+0

Я делаю это, потому что хочу динамически изменять текст кнопки и идентификатор. Скажем, если пользователь хочет отключить другого пользователя, я хочу, чтобы кнопка меняла свой текст на «Добавить друга» динамически без перезагрузки страницы. Также с id кнопки, так как мой js зависит от того, какой контроллер моего CodeIgniter должен использовать. –

ответ

0
$('#unfriend').attr('id','addfriend'); 
+0

Добавление небольшого вспомогательного текста поможет понять ваше решение. –

+0

Я не стал добавлять комментарий, потому что еще 4 человека опубликовали тот же ответ. Я обычно добавляю ответ, а затем редактирую с более описательным ответом, но в этом случае с некоторыми другими ответами он бесполезен –

+0

Возможно, поэтому Doodlebunch получает upvotes вместо вашего ответа (хотя вы сначала публикуете) ... –

1
.attr('id','addfriend') 

вы наклоненная использование Javascript SetAttribute на JQuery объект

2

Используйте jQuerys .attr() вместо этого.

$('#unfriend').attr('id','addfriend'); 

Demo, которая работает:

http://jsfiddle.net/r8vr6u49/

+0

Это не работает. –

+0

Что вы попробовали? Как вы можете видеть на скрипке, это работает. – TheFrozenOne

0

HTML

<div id="friend">Hello</div> 

Script

$('#friend').on('click', function() { 
    $(this).attr('id', 'unfriend').html("text to be updated"); 
}); 
0
$('#unfriend').attr("id","newId"); 

Это изменит идентификатор DIV

к applay нажмите событие или какое-либо событие Jquery на динамически изменяемые ДИВ вы должны использовать

$(document).on('event',id,function(){}); 

дают код внутри функции