найти div, не зная полного идентификатора - PullRequest
0 голосов
/ 21 февраля 2011

Я работаю над расширением Chrome, связанным с веб-сайтом.Я хочу изменить текст в div, но у div есть динамический идентификатор и у меня нет других способов его идентифицировать (т. Е. Нет класса)

div выглядит следующим образом

<div id="button select-leg routing_idens-640bbf2f16,"> text... </div>

у div всегда есть «button select-leg routing_idens-» в id

Могу ли я использовать что-то похожее на .find (), которое найдет div с той строкой, которая всегда происходит?

Ответы [ 4 ]

2 голосов
/ 21 февраля 2011

Если вы сделаете свой идентификатор действительным:

<div id="button_select-leg_routing_idens-640bbf2f16,"> text... </div>

Вы можете использовать attribute-starts-with-selector (документы) :

$('div[id^="button_select-leg_routing_idens-"]')
1 голос
/ 21 февраля 2011

В jQuery:

$('div[id^="button select-leg routing_idens-"]')
0 голосов
/ 21 февраля 2011

Все современные библиотеки JavaScript (JQuery, Mootools, Dojo и т. Д.) Предоставляют очень эффективные способы (селекторы) для поиска определенных элементов на странице.Вы можете перебирать элементы и выбирать 7-й (если он постоянный) или проверять, начинается ли его идентификатор с «кнопки select-leg routing_idens-».

Jquery: jquery.com

Mootools: mootools.net

0 голосов
/ 21 февраля 2011

Я думаю, вам придется получить по имени тега (div) или использовать querySelectorAll ('div'), а затем циклически перебирать возвращаемые элементы, проверяя их ID по подстроке.

Вот пример.Вам также придется исправить свой идентификатор, с пробелами он недействителен.

var elements = document.querySelectorAll('div');
for(var e in elements) {
    if(elements[e].id.indexOf('some_substring') !== -1) {
        // Now elements[e] contains the element you want.
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...