Javascript 风格=“;显示:无&引用;破环 函数myFn(id){ document.getElementById(id).value='hello'; } 函数showForm(){ document.getElementById(“右下”).style.display='block'; } 功能陈列室(){ 室友(); var root=document.getElementById(“左下”); root.innerHTML=“”; var inputRadio=“从下面选择一个房间”; inputRadio+=“510520”; inputRadio+=“530540”; inputRadio+=“550560”; inputRadio+=“570580”; root.innerHTML=inputRadio; var元素=document.getElementsByTagName(“输入”); 对于(var i=element.length-1;i>=0;i--){ 元素[i].setAttribute('onclick','showForm()'); } }
其他地方还有其他代码将显示样式从“无”更改为“块”。当用户单击输入框时,它会自动显示文本“hello”。如果我从div中删除样式,或者最初将其设置为“block”,则效果很好 当显示样式最初为“无”时,为什么不起作用 编辑为包含显示更改功能“请注意,“无”的显示不会创建不可见的框;它会创建一个不可见的框。”Javascript 风格=“;显示:无&引用;破环 函数myFn(id){ document.getElementById(id).value='hello'; } 函数showForm(){ document.getElementById(“右下”).style.display='block'; } 功能陈列室(){ 室友(); var root=document.getElementById(“左下”); root.innerHTML=“”; var inputRadio=“从下面选择一个房间”; inputRadio+=“510520”; inputRadio+=“530540”; inputRadio+=“550560”; inputRadio+=“570580”; root.innerHTML=inputRadio; var元素=document.getElementsByTagName(“输入”); 对于(var i=element.length-1;i>=0;i--){ 元素[i].setAttribute('onclick','showForm()'); } },javascript,Javascript,其他地方还有其他代码将显示样式从“无”更改为“块”。当用户单击输入框时,它会自动显示文本“hello”。如果我从div中删除样式,或者最初将其设置为“block”,则效果很好 当显示样式最初为“无”时,为什么不起作用 编辑为包含显示更改功能“请注意,“无”的显示不会创建不可见的框;它会创建一个不可见的框。” 这就是您无法单击div或其子项(输入)的原因。问题在于,在此循环期间,标记中的onclick=“myFn('mytext')正在被替换: <div id="bottom_right"
这就是您无法单击div或其子项(输入)的原因。问题在于,在此循环期间,标记中的
onclick=“myFn('mytext')
正在被替换:
<div id="bottom_right" style="display:none;">
<input type="text" name="mytext" id="mytext" onclick="myFn('mytext')">
</div>
function myFn(id){
document.getElementById(id).value = 'hello';
}
function showForm() {
document.getElementById("bottom_right").style.display = 'block';
}
function showRoom() {
clearRoommates();
var root = document.getElementById("bottom_left");
root.innerHTML="";
var inputRadio = "<h3>Select a room from below</h3><br/>";
inputRadio += "<div id = 'left'><label><input name='rad' type='radio'>510</label><label><input name='rad' type='radio'>520</label>";
inputRadio += "<label><input name='rad' type='radio'>530</label><label><input name='rad' type='radio'>540</label></div>";
inputRadio += "<div id = 'right'><label><input name='rad' type='radio'>550</label><label><input name='rad' type='radio'>560</label>";
inputRadio += "<label><input name='rad' type='radio'>570</label><label><input name='rad' type='radio'>580</label></div>";
root.innerHTML=inputRadio;
var element = document.getElementsByTagName("input");
for (var i=element.length-1; i>=0; i--) {
element[i].setAttribute('onclick',"showForm()");
}
}
因此,当您单击
时,它只是再次调用showForm()
,而不是myFn('mytext')
您可以使用根目录下的而不是文档中的来从集合中排除该
:
var element = document.getElementsByTagName("input");
for (var i=element.length-1; i>=0; i--) {
element[i].setAttribute('onclick',"showForm()");
}
然后,循环将只影响root
的子体,而不是整个文档中的所有
如果该输入不可见,您将如何单击该输入?有一个按钮将样式从“无”更改为“块”。同时发布该代码。如果您单击该按钮以显示div,则该代码工作正常。您收到了吗是否有任何错误?中的任何内容?您发布的内容似乎与预期的一样有效:。
var element = root.getElementsByTagName("input");