2016-11-14 3 views
-1

Я пытаюсь сделать селектор номера класса на document.getElementsByClassName("photo")[2].setAttribute("id", "current_page");, то есть 2 будет переменной.Можете ли вы использовать переменные в getElementsByClassName ("") []? И как?

Вот мой реальный код: HTML: onclick="test(this)"

И JS:

function test(y) { 
 
\t var x = y; 
 
\t document.getElementsByClassName("photo")[2].setAttribute("id", "current_page"); 
 
}

Так как я могу сделать селектор класса (на примере это [2]), переменная?

Большое спасибо!

+0

коммутаторе '2' с именем переменной? –

+0

Вы можете сделать 'getElementsByClassName (" photo ") [y] .setAttribute' – Rajesh

+0

Вы хотите, чтобы вы получили вторую и более позднюю переменные,« .photo »? –

ответ

1

если добавить идентификатор атрибута в тот же элемент. использовать как этот

function test(that) { 
 
\t 
 
\t that.setAttribute("id", "current_page"); 
 
}

1

Не уверен, что я понимаю ваше требование от вашего примера, но вы можете использовать переменную для имени класса:

var className = 'photo';  
var elements = document.getElementsByClassName(className); 

Хотя из вашего примера вы, кажется, хотите третий элемент, возвращаемый getElementsByClassName? Для выбора п-й элемент, снова используя переменную, вы можете сделать:

var elementIndex = 2; 
var element = document.getElementsByClassName(className)[elementIndex]; 

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

Смежные вопросы