Один из возможных подходов заключается в создании элемента из этой строки, то запрос против него:
var str = '<select name="random[]" class="myclass" id="x">'
+ '<option>hello</option>'
+ '</select>';
var d = document.createElement('div');
d.innerHTML = str;
var id = d.querySelector('select').id; // getting the id
d.querySelector('select').id = 'new_x'; // replacing it
str = d.innerHTML; // getting the updated string back
Я предположил, здесь всегда будет <SELECT>
элемент, идентификатор должен быть неправдоподобным, но вы можете используйте какой бы селектор вам ни подходит. Реальной точкой этого подхода является создание временного DOMElement для использования его методов для извлечения различных атрибутов и/или вложенных элементов из строки HTML.
Пожалуйста, воздержитесь от разбора HTML с помощью RegEx, поскольку он [приведет вас в движение] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 # 1732454). Используйте обычные методы DOM (getElementsByName.id ...) – bwoebi
'document.getElementById ('x'). Id' настолько избыточен? lol вы также можете использовать 'document.getElementsByName ('random') [0] .id', меняя 0 с номером, соответствующим вашему элементу в коллекции! –
Можете ли вы объяснить, как использовать DOM для получения идентификатора с примером? Thnx –