2016-04-12 2 views
2

Допустим, я хочу заполнить окно предупреждения с помощью inner.html некоторого элемента. Но этот элемент не имеет идентификатора, и я не могу его отдать, потому что я кодирую плагин, а не страницу.Уникальный элемент для родительского класса

Я знаю, что элемент является единственным дочерним элементом, который является одновременно:

  • Из класса «icon25 icon_next_arrow»
  • Из нескольких детей элемента с идентификатором = «co_documentFooterResultsNavigation»
  • единственный элемент, который отвечает как предыдущие два критерия

Как бы я идти об этом эквивалент:

var x = document.getElementById("correctElement").innerHTML; 
alert(x); 
+0

Можете ли вы опубликовать структуру HTML? – j08691

+0

Нет ли решения, которое будет работать для всех структур, отвечающих вышеуказанным критериям? – TiredofGoogling

+0

Трудно представить структуру HTML из вашего вопроса. Короткий пример поможет много. –

ответ

1

Это верно?

var x = document.querySelector(
    '#co_documentFooterResultsNavigation icon25.icon_next_arrow' 
); 
alert(x); 

Использовать querySelector вместо getElementById.

Используйте обработчик щелчка для первого элемента:

var x = document.querySelector(
    '#co_documentFooterResultsNavigation icon25.icon_next_arrow' 
); 
x.onclick = function() { 
    alert(x.innerText); 
} 

Эмуляция мыши с JQuery так легко:

$(x).trigger('click'); 
+0

Это кажется правильным. Можете ли вы помочь мне с еще одной мелочью? Как бы вы нажмете элемент? Я знаю .click() работает в контексте: document.getElementById ('element'). Click(); – TiredofGoogling

+0

Пример выше выбирает только первый элемент. Если нужен обработчик кликов: document.querySelector ('...') .onClick = function() {...} Вставьте свой код в ... –

+0

Первое спасибо! Во-вторых, я не пытаюсь обработать щелчок, я пытаюсь подражать одному. – TiredofGoogling