1

假设我有三种 HTML 来自它们中的任何一种:

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value="SDFSF"/>

或者

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value='SDFSF'/>

或者

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text"/>

我不知道他们谁来。我正在尝试像这样编辑它们:

<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value=''/>

我正在使用这个东西:

html = html.replace(/value="(?:[^\\"]+|\\.)*"/,"value=''");

这可以替换value="Something"value=''. 我如何将其扩展到其他两个?ORJavascript中是否有任何选项?

编辑

我没有 DOM 元素。所以,我必须像这样使用它。

4

2 回答 2

5

将 HTML 解析为 DOM 元素并对其进行操作。然后你可以将它转换回 HTML 或任何你想用它做的事情:

var container = document.createElement('div');
container.innerHTML = html;
container.firstChild.setAttribute('value', '');

html = container.innerHTML;

注意:其他提到使用element.value = '';. 只要您不想将元​​素序列化回 HTML,它就可以工作。如果你这样做了,它仍然具有原始value值。

于 2013-06-18T09:31:25.830 回答
1

请简单地使用 DOM

document.getElementById("myId").value = "";

您也可以参考之前的值进行检查。

var el = document.getElementById("myId")
var myValue = el.value;

if (myValue === notSoGood) {
    el.value = "BetterValue";
}
于 2013-06-18T09:29:37.920 回答