2013-12-19 3 views
0

Я хочу вызвать щелчок на div на загрузке страницы, но какой div зависит от URL.Запуск клика по определенному div с ID

E.g. HTML

<div id="1" class="clickMe"></div> 
<div id="2" class="clickMe"></div> 
<div id="3" class="clickMe"></div> 
<div id="4" class="clickMe"></div> 

страница URL может быть:

http://this-site.com/pageName?thing=2 

В связи с этим я хотел бы, чтобы вызвать щелчок на DIV с классом clickMe с id=2

Я знаю, что могу использовать $(".clickMe").trigger("click"); но есть ли способ выбрать div clickMe, который я хочу?

+0

возможно дубликат [Как могу ли я получить значения строки запроса в JavaScript?] (http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript). Объедините это с [this] (http://stackoverflow.com/questions/5891840/how-to-use-javascript-variables-in-jquery-selectors/5891850#5891850), и вы получили свой ответ – Phil

+0

Как в базе URL нажмите этот элемент? –

+0

@Phil Привет, я знаю, как получить URL-переменные в JS, это не вопрос. Вопрос в том, могу ли я выбрать div, чтобы вызвать щелчок на –

ответ

1

Вы хотите, прежде всего, получить переменную thing из строки запроса в jQuery, а затем указать ее как правильный идентификатор для запуска щелчка. Я собираюсь скопировать функцию, используемую в article that Phil flagged this post as a duplicate of:

function getParameterByName(name) { 
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
     results = regex.exec(location.search); 
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

var thing_id = getParameterByName('thing'); 
$(".clickMe#" + thing_id).trigger("click"); 

Вы можете указать класс и идентификатор, как это: $('.className#IDname'), однако идентификаторы должны всегда быть уникальным в веб-страницы, так что вы не должны» Фактически это нужно сделать. Этого должно быть достаточно:

$('#' + thing_id).trigger('click'); 
+0

Удивительный, большое спасибо и +1 за объяснение - не очень хорошо задокументировано, если я искал неправильно, не смог найти ничего, кроме меня, бесценно! –

2

Я знаю, как получить переменные URL в JS

Затем сохранить, что в переменной с именем "вещь" и

$("#" + thing).trigger("click"); 
Смежные вопросы