2010-05-14 2 views
3

У меня есть ссылки, которые динамически сгенерированы, и мне нужно установить цель для всех из них. Как я могу сделать это с помощью javaScript. Я нашел то, что выглядит, как он должен работать, используя JQuery ..Установить все целевые ссылки для страницы

$("a").attr('target', '_top'); 

но я не хочу использовать библиотеку для этого, и я представляю себе пару строк JavaScript будет заботиться о нем ... Я просто не умеете писать.

Чтобы уточнить, что я делаю, ссылки генерируются с помощью javaScript и механизма рекомендаций, ATG, и я вызываю это в iframe, который мне нужно вырваться на верх. Я предполагаю, что мне нужен всего лишь способ определить все ссылки в DOM, он не обязательно должен быть привязан к определенному идентификатору. Можно ли связать динамически сгенерированный атрибут с динамически сгенерированной связью? Существует возможность создания пользовательского рендеринга, но я надеюсь избежать этого маршрута.

ответ

2

Я, как правило, сам человек jQuery, но вы правы, что такой небольшой фрагмент кода не должен быть зависимым от библиотеки. Может быть, я немного ржавый с моей JavaScript без JQuery, но я думаю, что это нужно сделать, это ...

var anchors = document.getElementById('myDiv').getElementsByTagName('a'); 

for (var i = 0; i < anchors.length; i++) { 
    anchors[i].setAttribute('target', '_top'); 
} 

В этом примере предполагается, что селектор JQuery вы использовали то, что вы хотите выбрать. Если вы не хотите настраивать таргетинг на определенный элемент с помощью атрибута id, просто снимите метод getElementById().

+0

Спасибо это выглядит, как он должен работать, однако это не в моей ситуации ... Я редактировал свой пост, чтобы описать лучше. – Zac

3

Что-то вроде этого

var anchorElements = document.getElementsByTagName("a"); 

for (var i = 0; i < anchorElements.length; i ++) 
{ 
    anchorElements[i].setAttribute("target", "_top"); 
} 
+0

спасибо, но я тоже сказал @alex – Zac

Смежные вопросы