2015-11-05 71 views
1

我有一个多次包含的php文件,所以没有一个ID,但是一次只能看到一个。我想要在这个PHP中显示一个div,具体取决于什么是键入的,即使它没有ID,我可以这样做吗?包括PHP文件:使用javascript显示div无ID

<script type="text/javascript"> 
    function mobilecheck(inputted) { 
     var findstring = "07"; 
     if (inputted.indexOf(findstring) > -1) { 
      //this works, I have tested with an 'alert' 
document.getElementsByName("hiddenMobileDiv").style.display="block"; 
//show hidden div - this bit isn't working, I think it's because there's multiple divs with this name 
      } 

    } 
</script> 

    <input type="tel" class="textbox" name="contactno" onkeypress="mobilecheck(this.value)"> 
    <div name="hiddenMobileDiv" style="display:none"> 
     <label class="label">What time can we contact you until?</label> 
    </div> 
+0

当你说“只有一个是可见的”,这是否意味着你是从DOM移除其他的人 - 或者只设置了显示为无?如果它们仍然存在于DOM上,则必须有额外的标准来确定要显示的正确标准。如果他们被删除,你可以使用joe_young的答案。 –

回答

0

document.getElementsByName返回一个数组,所以你需要使用:

document.getElementsByName("hiddenMobileDiv")[0].style.display="block"; 

添加一个[0]引用元素的数组名称中的第一项“hiddenMobileDiv”


或者,如果你有一个以上的'hiddenMobileDiv'元素或要显示所有这些,我们一个for循环:

for (i=0; i<document.getElementsByName("hiddenMobileDiv").length; i++) 
    document.getElementsByName("hiddenMobileDiv")[i].style.display="block"; 
+0

这只有在DOM中首先出现所需的div时才有效。有可能他有三个div都带有这个名字,但是想要显示的div出现在DOM的第三位。如果是这种情况,您的代码将显示错误的div。 –

+0

为我精心打造,非常感谢 – Maff