Попытка автоматического нажатия определенной кнопки при загрузке страницы с помощью скрипта JQuery - PullRequest
0 голосов
/ 15 апреля 2020

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

$("input[value=xyz]").click();

Это код, который я использовал ранее успешно, в основном он автоматически заполнял все переключатели определенного типа. Сейчас я работаю с этим:

<button class="category-button awsui-util-t-l">
    <sup class="category-hotkey">3</sup>
    "Good"
</button>

И я пытаюсь выяснить, что использовать в качестве селектора, чтобы нажимать эту конкретную кнопку. Я пытался использовать текст, который находится в кнопке, такой как «Хорошо» и «3», но я не могу найти правильный способ найти эти элементы. Эта кнопка находится в группе из 4 других кнопок, и я хочу выбрать именно эту. Я пробовал ерунду, такую ​​как

$("button:contains[text='Good']").click();

И другие, вероятно, грамматически некорректные вещи, потому что я действительно не знаю, как использовать JQuery, но я надеялся, что кто-то может помочь мне разобраться в этом. Очень ценится.

Ответы [ 3 ]

0 голосов
/ 15 апреля 2020

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

Я также добавил пример содержимого фильтра на случай, если вы нужно это.

$(".category-button.awsui-util-t-l")
  .on('click', function(e) {
    $(this).addClass('doneit');
  })
  .trigger("click");

// must contain something, filter those
$(".category-button.awsui-util-t-l")
  .filter(function() {
    return $.contains($(this)[0], $(".category-hotkey-new")[0]);
  })
  .on('click', function(e) {
    $(this).addClass('doneit-more');
  })
  .trigger("click");
.doneit {
  border: solid purple 2px;
}

.doneit-more {
  color: orange;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="category-button awsui-util-t-l">
    <sup class="category-hotkey">3</sup>
    "Good"
</button>

<button class="category-button awsui-util-t-l">
    <sup class="category-hotkey-new">3</sup>
    "Good"
</button>
0 голосов
/ 15 апреля 2020

Если вы хотите нажать на основе текста, вы можете использовать селектор следующим образом:

$('button:contains("Good")').click()
0 голосов
/ 15 апреля 2020

Вы можете использовать class

Если это, скажем, первая кнопка в этой группе, то селектор будет $(".category-button").eq(0)

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