Не удается получить огонь события клика в jQuery? - PullRequest
1 голос
/ 26 декабря 2011

Вот фрагмент моего HTML-кода:

<li>
    <a id="section1" href="#" onclick="return false">&raquo; Section 1</a>
    <ul>
        <li><a href="link1.html" target="showframe" id="tab1" name="tab1">Tab 1</a></li>
        <li><a href="link2.html" target="showframe" id="tab2" name="tab2">Tab 2</a></li>
    </ul>
</li>

На самом деле это аккордеон jQuery.Теперь строка $('#section1').click(); или $('#'+section).click(); работает как в IE, так и в Chrome.Для внутренних тегов Anchor я попытался использовать:

$('a#'+tab_name_from_querystring).click();

$('a[name="'+ tab_name_from_querystring+'"]').click();

$('a#tab1').click();

Все это не работает ни в одном браузере.Если я использую это:

document.getElementById(tab_name_from_querystring).click().

Это работает только в IE, а не в Chrome.

Любая помощь, пожалуйста?

ОБНОВЛЕНИЕ: Вотполный код JavaScript:

<script type="text/javascript">
    var query = window.location.search.substring(1);
    var params = query.split('&');
    var temp = params[0].split('=');
    var section = temp[1].toLowerCase();
    temp = params[1].split('=');
    var tab = temp[1].toLowerCase();
    $(document).ready(function(){
        $('#'+section).click();
        setTimeout(function(){
            $("a[name='tab1']").click();  // Did not work
            $('a[name="'+tab+'"]').click(); // Did not work
            document.getElementById(tab).click(); // Works only in IE
        }, 500);

    });
</script>

Ответы [ 5 ]

1 голос
/ 26 декабря 2011

Удалить a до #

Что-то вроде:

 $('#'+ tab).click();

Работает на jsFiddle, посмотреть его здесь

0 голосов
/ 27 декабря 2011

Хорошо.Согласно подсказке abuduba , работал следующий код:

$('iframe[name="showframe"]').attr('src', $("a[name="+tab+"]").attr('href'));

То есть скопировать значение атрибута HREF тега привязки в атрибут SRC желаемого IFRAME.

Спасибо всем

0 голосов
/ 26 декабря 2011

Может быть, вам нужно это:

window.location.href = $( "a#tab1" ).attr( "href" );
0 голосов
/ 26 декабря 2011

Поскольку у вас есть идентификаторы в ссылках, вы пробовали:

$ ('#' + tab_name_from_querystring) .click ();

или

$ ('# tab1' ) нажмите ();.

0 голосов
/ 26 декабря 2011

Попробуйте использовать

$(selector).trigger("click");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...