JQuery DOM связанная проблема - PullRequest
0 голосов
/ 04 октября 2011

Я столкнулся с какой-то странной проблемой с моим JQuery DOM; Мой код выглядит следующим образом:

$("#"+iframeId).attr("src",url);
$("a[target="+iframeId+"]").attr("href", url);

Здесь iframeId получает значение "swcontent"

Теперь 1-й оператор работает нормально, но 2-й оператор ничего не возвращает, хотя у меня есть ссылка на моей странице как;

<a target="swcontent" href="xyz.html" class="standardMenu_on">Link</a>

Теперь странная часть в моем инспекторе Firebug, если я напишу

document.getElementsByTagName("a")[0].getAttribute("target")

находит цель "swcontent"

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

Ответы [ 5 ]

0 голосов
/ 04 октября 2011

Все ли ваши теги скриптов закрыты правильно?Иногда наблюдение «это работает, если я добавляю другой скрипт» намекает на использование пустых тегов скрипта (<script /> вместо <script></script>).

0 голосов
/ 04 октября 2011

Попробуйте проверить:

$('a[target="'+iframeId+'"]').length

в firebug / console. Если это не 1, возможно, вы не выбираете то, что предназначено. Если это> 1, ваш предполагаемый выбор не может быть первым найденным элементом. Это может быть тег без атрибута href.

0 голосов
/ 04 октября 2011
var url = "http://www.yahoo.com";
$("a[target=swcontent]").attr("href", url);
alert(document.getElementsByTagName("a")[0].outerHTML);

Это работает для меня.

0 голосов
/ 04 октября 2011

Попробуйте заключить значение атрибута в кавычки, см. Здесь рабочий пример http://jsfiddle.net/99Gua/

$('a[target="'+iframeId+'"]').attr("href", url);
0 голосов
/ 04 октября 2011

Я думаю, что все, что вам нужно сделать, это обернуть ваш jQuery в обработчик готовых документов следующим образом:

$(document).ready(function(){
  //put your jQuery in here
});

Скажите, работает ли это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...