【问题标题】:Id=' ' within id=' ' with javascript and onmouseover="this.click();" functionid=' ' 内 id=' ' 使用 javascript 和 onmouseover="this.click();"功能
【发布时间】:2015-07-06 18:36:43
【问题描述】:

我是 Javascript 的初学者,我不确定如何将我尝试实现的功能组合在一起。

所以,我有一个 HTML5 页面,我必须坚持我的 ID 结构,因为不同的功能都与 ID 相关联。

我的问题是我在一个 id 中有一个 id(它必须保持一个 ID,它不能与类交换)

例如

<div id="outterid">
 <a href="#innerid">CLICK ME</a>
  <div id="innerid">
        <p>Hello World</p>
  </div>
</div

在哪里,&lt;div id=outterid"&gt; 作为工具提示弹出(我的其他 javascript 负责该功能。在其中链接 &lt;a href="#innerid"&gt;CLICK ME&lt;/a&gt; 和隐藏的 &lt;div id=innerid"&gt;

所以当你点击&lt;a href="#innerid"&gt;CLICK ME&lt;/a&gt;时,&lt;div id=innerid"&gt;变得可见。 (注意:&lt;div id="outterid"&gt; 在您点击时可见)

所以我需要通过javascript来实现href="#innerid",因为目前只是href=""

例如

<a href="#innerid">CLICK ME</a>

不起作用,因为#outterid 中的#innerid。

此外,“CLICK ME”链接必须由onmouseover="this.click();" 触发。所以,当鼠标悬停在链接上时,链接就会被点击。

我希望我能够清楚地解释我的问题是什么以及我正在寻找什么结果。

提前感谢您的帮助。

【问题讨论】:

  • 您在属性 href 之前错过了关键字 a,这将为您提供正确的 html 链接标签:&lt;a href="#innerid"&gt;CLICK ME&lt;/a&gt;
  • 是的,没错。我的意思是说点击我
  • 你真正想要达到什么目的?您没有描述预期和当前的行为是什么。
  • Bartdude,我不想用很多信息使我的问题复杂化,但现在我补充说,我希望这能清除它。

标签: javascript html onclick anchor href


【解决方案1】:

您在这里谈论的是滚动到相关的 div(例如#innerid)吗?在这种情况下,我认为您的问题与javascript没有任何关系,而是您错过了&lt;href="#innerid"&gt;CLICK ME&lt;/a&gt;中的a ...我已经尝试过replicating your problem in JSFiddle&lt;a href="#innerid"&gt;CLICK ME&lt;/a&gt;它滚动到正确的 div,无论它是否在嵌套的外部 div 中。

【讨论】:

  • 不,当 CLICK ME 点击时,我的

    Hello World

    (这是隐藏的)假设出现。这是我的标签之一。如果
    位于
    之外,它会正确工作,但是一旦我将它放在
    中,它就会停止。不幸的是,我必须把它放在
    中。
  • 好吧,您没有提到任何有关尝试在原始帖子中切换可见性的内容...如果#outerid 嵌套,您将无法看到#innerid ! HTML 101!
  • 如果#outerid 是可见的,我强烈建议您使用jQuery,因为您所要做的就是拥有&lt;span class="clicker"&gt;CLICK ME&lt;/span&gt; 并且javascript 将是$(".clicker").click(function() { $("#innerid").show(); });
【解决方案2】:

目前尚不清楚您在这里究竟想要什么,但我已经尝试过了。当您单击锚标记时,此示例将显示#innerid div。希望这会对您有所帮助。

function myFunction(href) {
  var id = href.split('#')[1];
  document.getElementById(id).style.display = 'block';
}
#innerid { display:none; }
<a onclick="myFunction(this.href)" href="#innerid">CLICK ME</a>

<div id="outterid">
  <div id="innerid">
        <p>Hello World</p>
  </div>
</div

【讨论】:

  • 您好安德鲁,感谢您的回复。我尝试过这个。那没起效。但是我添加了 &lt;div id="outterid"&gt;&lt;div id="innerid"&gt; 的功能描述。这可能有助于理解为什么我的 href="#innerid" 不起作用。
猜你喜欢
相关资源
最近更新 更多
热门标签