假设我有三种HTML:
<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value="SDFSF"/>
OR
<input name="myName" id="myID" role="textbox" style="width: 98%;" type="text" value='SDFSF'/>
OR
<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=''
。如何将其扩展到其他两个? Javascript中有OR
的选项吗?
修改
我没有DOM元素。所以,我必须像这样使用它。
答案 0 :(得分:5)
将HTML解析为DOM元素并对其进行操作。然后你可以将它转换回HTML或任何你想用它做的事情:
var container = document.createElement('div');
container.innerHTML = html;
container.firstChild.setAttribute('value', '');
html = container.innerHTML;
注意:提到的其他人使用element.value = '';
。只要您不希望将元素序列化回HTML,这就可以工作。如果您这样做,它仍将具有原始的value
值。
答案 1 :(得分:1)
请简单使用DOM
document.getElementById("myId").value = "";
您也可以参考之前的值进行检查。
var el = document.getElementById("myId")
var myValue = el.value;
if (myValue === notSoGood) {
el.value = "BetterValue";
}