Проблема селектора jQuery при привязке к DOMSubtreeModified

0

Я пытаюсь сделать простой хром-расширение для facebook. Может кто-нибудь дать руку? Последняя строка console.log говорит undefined. Я уверен, что якорь не выбран, я просто не знаю, как его исправить.

$("a").bind("DOMSubtreeModified", function() {  
if(left($("a").href,60)==="http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.youtube.com"){
    var strPath=$("a").href;
    strPath=right(strPath,strPath.len-32);

    var aTag = document.createElement('a');
    aTag.setAttribute('href',"strPath");
    aTag.innerHTML = "VIEW IN HD";
    $("#a").parentNode.appendChild(aTag);
}else{console.log($("a").href);}

})

  • 0
    Мне любопытно, что здесь происходит ... $('a').href $('a')[0].href для получения элемента dom необходимо использовать $('a')[0].href а не объект jquery. , или $('a').prop('href') , также, что left() функцией left() ? и почему вы используете оператор === для сравнения строк? Facebook использует https не http так что вы должны внести эту корректировку в свой собственный код
  • 0
    @Ohgodwhy Когда поддерево якоря изменяется, как я могу ссылаться на этот якорь в функции? Это просто добавление [0]? Левый определяется в другом месте. Это левый стиль VB, который возвращает левые символы x в строке. О ===, это должно быть что-то еще? Я думал, что один (=) должен быть установлен, два - для сравнения типов данных, и три - для типов данных и данных. Разве это не так?
Показать ещё 2 комментария
Теги:
google-chrome

1 ответ

0

Обычно в JQuery любая информация, включенная между тегами, считается атрибутом. Пример,

<span id="xyz-123" data="toggle"> </span> 

и доступ к data возможен с помощью функции attr

$("#xyz-123").attr("data")

И в вашем случае

 $("a").attr("href")

и вы можете установить его, передав новое значение в качестве второго параметра.

$("a").attr("href", "http://somesite.com")

Но я бы предложил вам указать уникальный идентификатор или класс, чтобы сгруппировать его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню