Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有动态ID的getElementByID_Javascript_Html_Asp.net - Fatal编程技术网

Javascript 具有动态ID的getElementByID

Javascript 具有动态ID的getElementByID,javascript,html,asp.net,Javascript,Html,Asp.net,您好,我在ASP SharePoint web部件页中的javascript有问题。该页面的构建方式与任何其他ASP页面相同,因此其托管在SharePoint中这一事实不会产生任何影响 问题在于页面中的javascript。我的Html表格由8个单元格组成。对于每个单元格,我在mouseover上显示了一个不同的div,其中包含不同的数据 问题在于我试图显示的div的ID。Divs ID在运行时更改,但每天也会更改,因此无法手动输入 HTML: 如果我获取生成的ID并对其进行硬编码,javasc

您好,我在ASP SharePoint web部件页中的javascript有问题。该页面的构建方式与任何其他ASP页面相同,因此其托管在SharePoint中这一事实不会产生任何影响

问题在于页面中的javascript。我的Html表格由8个单元格组成。对于每个单元格,我在mouseover上显示了一个不同的div,其中包含不同的数据

问题在于我试图显示的div的ID。Divs ID在运行时更改,但每天也会更改,因此无法手动输入

HTML:

如果我获取生成的ID并对其进行硬编码,javascript就可以工作,但是ID每天都在变化,这意味着它会成为一个问题。任何帮助我都将不胜感激


关于,将clientmode=static设置为元素

 <div id="hover1" clientIdMode="static" runat="server" style="display: none">

您必须通过clientId,如下所示:

onmouseover="getDataXML('<%=hover1.ClientID %>')"

或者将ClientIDMode设置为Static,但在这种情况下,如果在aspx中更改div id,您必须显式更改使用Id的位置,这将很难捕获,因为不会出现编译时错误。

忘记说我得到的错误是“Microsoft JScript运行时错误:需要对象”,您不能在每日生成的div中保留相同的类或其他内容吗。。?无论如何,您需要在两者之间建立某种关系……如果status和hover元素之间存在数字对应关系,而不受其他ID的干扰,那么只需使用正则表达式获取尾随数字,并使用querySelector和属性end with selector来选择它。document.querySelectordiv[id$=hover]+n您可以先选择主div元素,然后再选择此元素的第n个子元素吗?因此,您可以将第n个child作为参数发送到getDataXml函数,然后选择正确的div。父子关系。div是通过sharepoint生成的,还是asp:div?根据您指定的ID,看起来asp正在这样做。如果是这样的话,您可以考虑为div使用staticID。这在asp.net控件中是可能的。这很有趣。我不知道这个存在。我可以在工作中使用这个!哈哈,谢谢不是OP。尝试了这两种方法,但都不能解决问题。得到完全相同的错误
 <div id="hover1" clientIdMode="static" runat="server" style="display: none">
onmouseover="getDataXML('<%=hover1.ClientID %>')"