JavaScript;尝试在 <ul> 和 <li id> 和 <href> 中触发点击,但直到调用 <li ID> 才

JavaScript; trying to fire a click within a <ul> and <li id> and <a href> but not till the <li id> is called

本文关键字:li ID 调用 href ul id JavaScript      更新时间:2023-09-26

对不起,如果这是一个'新手'问题,已经为此斗争了一段时间......

寻求从标记中触发<a href>

然而,找到了几种方法......整个脚本都在一个<ul>中,所以脚本"点击"<a href>发生在加载index.html时,而不是在调用特定标签时。

如果混淆,请抱歉;这里有一些代码片段可能有助于解释。

<ul id="menu">
<!-- several <li> to other parts of the site, then: -->
<li>
    <a href="#!/WORKHISTORY" onclick="ga('send','event','Internal Links','Work History')">
      <span class="over"></span>
      <span class="txt1">Work History</span>
    </a>
</li>
</ul>

其次:一个<article>和一个<ul>

<ul>中,是引用"工作历史"标签的标签。

<li id="WORKHISTORY">
 <div class="box">
  <a id=wrkhst1 href="/gallery/1426894494/1426894576.jpg" rel="prettyPhoto[1426894494]">
    <span class="over"></span>
  </a>
 </div>
</li>

我尝试使用<script>document.getElementById('wrkhst1').click();</script>这有效,但是它在加载 index.html 时触发,而不是通过单击父<li>,因为它读取主索引页面并加载它。

我在 中尝试了相同的脚本,但没有使用标签,但结果相同。

您需要

li 元素上为 onclick-event 添加一个事件处理程序。在那里,您可以模拟对<a>标签的单击。

在代码中,它可能看起来像:

document.querySelector('#WORKHISTORY').onclick = function(){
    document.querySelector('#wrkhst1').click();
};

但是很少有需要这样做的情况。我敢肯定,在您的情况下,最好制作<a> display: block;并将其设置为<li>的大小。因此,<a>可以为它的目的做事,而不需要任何javascript。