Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Создание тега <link> (https://javascript.ru/forum/events/37009-sozdanie-tega-link.html)

colibri 04.04.2013 09:14

Создание тега <link>
 
Доброе утро всем!
Подскажите,пожалуйста, почему не работает скрипт

var link = document.head.createElement("link");
       link.setAttribute("href","../images/open.png");
       link.setAttribute("rel","img_src");
       head.appendChild(link);


Я только в самом начале пути по познанию JS, буквально первая неделя )) Путаюсь и т.д.

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


var ssylka;
$(document).ready(function() {
ssylka = $('p > img').attr('src');
});


Можно ли будет эту переменную передать из одного файла в другой,чтобы использовать ее,как значение атрибута в setAttribute?

Огромная просьба подсказать,где неправа и если можно,в чем именно.:)

danik.js 04.04.2013 10:04

у вас 2 ошибки. Во-первых document.head.createElement
Во-вторых document.head , а не head. К тому же не нужно работать с атрибутами, когда есть соответствующие свойства.


var link = document.createElement("link");
// для IE8
var head = document.head || document.getElementsByTagName('head')[0];
link.href = "../images/open.png";
link.rel = "img_src";
head.appendChild(link);


Цитата:

Сообщение от colibri
Можно ли будет эту переменную передать из одного файла в другой,чтобы использовать ее,как значение атрибута в setAttribute?

Очень странная задача. У вас нет доступа к серверу, раз пытаетесь решить через браузер пользователя?

colibri 04.04.2013 10:39

есть доступ, просто исходя из того,
что я пока знаю я как-то так решила эту задачу, если поможете исправить на более корректное решение буду очень признательна или хотя бы сказать в какую сторону двигаться

Кстати,исправленный скрипт все равно не работает. Я его ставлю перед </head>.
Может, как-то по-другому?

danik.js 04.04.2013 19:51

Цитата:

Сообщение от colibri
Кстати,исправленный скрипт все равно не работает

Это не так:
<!DOCTYPE html>
<head>
<script>
    var link = document.createElement("link");
    // для IE8
    var head = document.head || document.getElementsByTagName('head')[0];
    link.href = "../images/open.png";
    link.rel = "img_src";
    head.appendChild(link);
</script>
</head>
<body>
<!-- проверка -->
<script>alert(document.head.innerHTML)</script>

NMitra 11.05.2015 06:14

link.rel = "img_src";

:)


Часовой пояс GMT +3, время: 19:43.