javascript正则表达式获取元素

时间:2013-06-15 11:17:35

标签: javascript html regex

我在java脚本中有一个字符串

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

如何在java脚本中获取id的值?

还有如何用同一个字符串中的新值替换id?

编辑: 选择名称是数组

2 个答案:

答案 0 :(得分: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>元素,应该提取id,但你可以使用最适合你的选择器。这种方法的真正意义在于创建一个临时DOMElement来使用其方法从HTML字符串中获取各种属性和/或嵌套元素。

答案 1 :(得分:0)

你可以用这个选择一个元素:“document.getElementById(”lastName“)。value” document是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>