@iegor

Как удалить атрибут а потом поставить?

Необходимо сделать последовательность действий при нажатии на кнопку: удалить все атрибуты у определенных объектов, добавить атрибут связанному с нажатым и запустить некий скрипт. Вот мой код, который по моим представлениям должен это делать:
$('.push').click(function(){
    $('.del').removeAttr('id');
    this.next('div').children('.del').setattr('id', 'disqus_thread');
    var disqus_shortname = 'allfreecourses';
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
})

Но он ничего не делает.
P/S Вообще суть скрипта должна быть в подгрузке дискуса к нужному посту на странице.
  • Вопрос задан
  • 365 просмотров
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
  • Во-первых, в контекст обработчика события передается обычный элемент, а не объект jQuery.
  • Во-вторых, нету метода seattr, есть attr.
  • В третьих, с какой целью использовано замыкание??? По приколу?

$('.push').click(function(){
    $('.del').removeAttr('id');
    $(this).next('div').children('.del').attr('id', 'disqus_thread');

    var DIS_SHORT = 'allfreecourses',
          dsq = document.createElement('script');
    
    dsq.async = true;
    dsq.src = 'http://' + DIS_SHORT + '.disqus.com/embed.js';

    (document.head||document.body).appendChild(dsq); //Как head'a может не быть???!?
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы