Я пытаюсь сделать простой хром-расширение для 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);}
})
Обычно в JQuery любая информация, включенная между тегами, считается атрибутом. Пример,
<span id="xyz-123" data="toggle"> </span>
и доступ к data
возможен с помощью функции attr
$("#xyz-123").attr("data")
И в вашем случае
$("a").attr("href")
и вы можете установить его, передав новое значение в качестве второго параметра.
$("a").attr("href", "http://somesite.com")
Но я бы предложил вам указать уникальный идентификатор или класс, чтобы сгруппировать его.
$('a').href
$('a')[0].href
для получения элемента dom необходимо использовать$('a')[0].href
а не объект jquery. , или$('a').prop('href')
, также, чтоleft()
функциейleft()
? и почему вы используете оператор===
для сравнения строк? Facebook используетhttps
неhttp
так что вы должны внести эту корректировку в свой собственный код