Как изменить href для гиперссылки, используя jQuery: ошибка href равна нулю - PullRequest
0 голосов
/ 22 ноября 2011

Я пытаюсь добраться до домашней ссылки по умолчанию (href) на своем сайте sharepoint, используя jquery, но я продолжаю получать href не определено. Я хотел бы изменить его на другой URL Я пытался

alert($(".static selected menu-item")[0].href).text();



<div class="s4-lp s4-toplinks">
        <div class="s4-tn" id="zz17_TopNavigationMenuV4">
            <div class="menu horizontal menu-horizontal">
                <ul class="root static">
                    <li class="static selected">
                    <a accesskey="1" href="/sites/Home" class="static selected menu-item" style="height: 11px; margin-top: 0px;">
                    <span class="additional-background">
                    <span class="menu-item-text">Home</span>
                    <span class="ms-hidden">Currently selected</span></span></a>
                    </li>

Любые идеи, что я делаю не так Спасибо

Ответы [ 3 ]

1 голос
/ 22 ноября 2011

Обратите пристальное внимание на ваш селектор.Имена классов должны начинаться с точки (.), а имена тегов - нет.

Ваш селектор читает:

$(".static selected menu-item")

Что означает "элемент menu-item, который находится внутриэлемент типа selected, который находится внутри элемента с классом из static.

Из вашей разметки неясно, что является правильным селектором. Если вы хотите выбратьЯкорный тег со всеми тремя классами, используйте это:

$(".static.selected.menu-item")

Если вы хотите выбрать элемент с классом menu-item внутри элемента с классом selected, внутри элемента с классом static, используйте это:

$(".static .selected .menu-item")
1 голос
/ 22 ноября 2011

изменить это

alert($(".static selected menu-item")[0].href).text();

к этому:

alert($(".static .selected .menu-item").attr('href'));
1 голос
/ 22 ноября 2011

alert() не имеет метода text().

Попробуйте ...

$('.static .selected .menu-item').attr('href', 'new_href');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...