2013-06-15 2 views
0

У меня есть строка в Java ScriptJavascript регулярное выражение, чтобы получить элементы

<select name="random[]" class="myclass" id="x"> 
    <option>hello</option> 
</select> 

Как я могу получить значение идентификатора в Java Script?

А также как я могу заменить id новым значением в одной строке?

EDIT: выберите имя массив

+4

Пожалуйста, воздержитесь от разбора HTML с помощью RegEx, поскольку он [приведет вас в движение] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 # 1732454). Используйте обычные методы DOM (getElementsByName.id ...) – bwoebi

+0

'document.getElementById ('x'). Id' настолько избыточен? lol вы также можете использовать 'document.getElementsByName ('random') [0] .id', меняя 0 с номером, соответствующим вашему элементу в коллекции! –

+0

Можете ли вы объяснить, как использовать DOM для получения идентификатора с примером? Thnx –

ответ

0

вы можете выбрать элемент с помощью этого: «document.getElementById (» LastName «) значение.» документа является одним из основных объектов DOM помогает достичь этого.

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
<script language="javascript"> 
var seller = { 
firstName:"John Smith"; 
} 
function getAndsetValue(){ 
var ID = document.getElementById("id"); // to get value by ID 
document.getElementById("firstName").value = seller.firstName; // To set value to an element with that ID 
} 
</script> 
</head> 
<body> 

<tr> 
       <td>First Name </td> 
       <td> 
        <input type="text" readonly="false" id="id" size="20"/> 
        <input type="text" readonly="true" id="firstName" size="20"/> 
       </td> 
</tr> 
</body> 
</html> 
+0

Я думаю, что идентификатор OP является динамическим –

1

Один из возможных подходов заключается в создании элемента из этой строки, то запрос против него:

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.

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