Как нажать кнопку и открыть все ссылки в неупорядоченном списке в jQuery

0

Я хотел бы иметь кнопку, которая, если щелкнуть, нажмет() все ссылки в определенном неупорядоченном списке.

<ul id="linkslist">
    <li><a href="#" target="_blank">Link 1</a></li>
    <li><a href="#" target="_blank">Link 2</a></li>
    <li><a href="#" target="_blank">Link 3</a></li>
    <li><a href="#" target="_blank">Link 4</a></li>
    <li><a href="#" target="_blank">Link 5</a></li>
</ul>
<button value="open all" id="openallbutton">

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

  • 0
    Это звучит как проблема XY meta.stackexchange.com/questions/66377/what-is-the-xy-problem . Почему вы хотите нажать на все ссылки? Разве вы не должны просто вызывать функцию, которая к ним привязана?
Теги:

4 ответа

0

Вы можете сделать что-то вроде этого:

jQuery('#linkslist li a').each(function(){
   //if you want to open links in new tabs
   window.open($(this).attr('href'), '_blank');
   //if your links are only javascript entries (i mean href="#" and a click event is handled)
   $(this).click();
});
-1

Какова цель открытия всех этих ссылок сразу? Имеет возможность быть злонамеренной деятельностью.

Чтобы "запустить" щелчок по каждой ссылке, вы можете сделать следующее:

$('#linkslist li a').each(function() {
    $(this).trigger('click');
});

Это требует проблем, хотя, и я уверен, что это фактически не откроет страницу, поскольку она попытается щелкнуть каждую ссылку программно.

  • 0
    Проблема: если в ссылке не указан целевой атрибут и если href - это URL, он откроет только первую ссылку в том же окне.
-1
$('#linkslist li a').each(function(){
    $(this).click();
});

Это нажмет на них. Если вы не прикрепляете события к кликам, и у них есть ссылка в href, очевидно, вы просто будете перенаправлены на одну ссылку.

-2

Это нажмет на них все clciking на кнопке.... если вы хотите, чтобы они открывались в другом окне, запрограммированный щелчок не будет этого делать и должен будет разобрать каждый href чтобы сделать это

/* button clcik*/
$('#openallbutton').click(function(){
    /* trigger click on all links*/
    $('#linkslist li a').click();
})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню