当前位置: 首页 > 知识库问答 >
问题:

我可以为我的页面中的一些不同ID(模式)分配外部链接吗?

齐栋
2023-03-14

我不能写一个唯一的javascript,可以分配ID被直接链接访问和显示。在页面上,我有这个图片和标题库:

  <div class="modal-item">
        <a onclick="document.getElementById('id001').style.display='block'" class="item-link">
          <img class="thumb" src="image001"/>
      </div>
        <div id="id001" class="modal">
            <div class="modal-content">
                            <img alt="" src="image001big"/>
                        </div>
                     <caption></caption>
                </div>
            </div>
        </div>  
  <div class="modal-item">
        <a onclick="document.getElementById('id002').style.display='block'" class="item-link">
          <img class="thumb" src="image001"/>
      </div>
        <div id="id002" class="modal">
            <div class="modal-content">
                            <img alt="" src="image002big"/>
                        </div>
                     <caption></caption>
                </div>
            </div>
        </div>
...

但是经过我所有的研究,我只到这一步,它不起作用。另外,我不应该每次都需要取消指定id,否则我会用脚本填充页面。

 <script type='text/javascript'>
$(document).ready(function() {

  if(window.location.href.indexOf('#id0743') != -1) {
    $('#id0743').modal('show');document.getElementById('id0743').style.display='block';
  }

});
</script>

共有1个答案

澹台昆
2023-03-14

有一个更简单的方法来做到这一点。窗口已经有一个名为window.location.hash的内置对象,如果您转到https://example.net/#id001,它将返回#id001

位置接口的哈希属性返回一个USVString,其中包含一个“#”,后跟URL的片段标识符——URL试图瞄准的页面上的ID。

该片段未进行百分比解码。如果URL没有片段标识符,则此属性包含空字符串“”。

请注意,我正在手动分配ID,但这是单独的,因为我无法从窗口获取实际的哈希值。

$(document).ready(function() {
    let id = window.location.hash;
  id = "#id002";
  
  $(id).css('display', 'block');
});

// Pure JS example
window.addEventListener('load', (event) => {
  let id = window.location.hash.substring(1);
  id = "id001"
  document.getElementById(id).style.display='block';
});
.modal {
  display:none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal-item">
  <a onclick="document.getElementById('id001').style.display='block'" class="item-link">
    <img class="thumb" src="https://www.fillmurray.com/200/200" />
  </a>
</div>

<div id="id001" class="modal">
  <div class="modal-content">
    <img alt="" src="https://www.fillmurray.com/2000/2000" />
  </div>
  <caption></caption>
</div>


<div class="modal-item">
  <a onclick="document.getElementById('id002').style.display='block'" class="item-link">
    <img class="thumb" src="https://www.fillmurray.com/199/199" />
  </a>
</div>

<div id="id002" class="modal">
  <div class="modal-content">
    <img alt="" src="https://www.fillmurray.com/1999/1999" />
  </div>
  <caption></caption>
</div>
 类似资料:
  • 我目前正在使用一个由10个节点(1个名称节点和9个数据节点)组成的Hadoop集群,其中运行Hbase、Hive、Kafka、Zookeeper和Hadoop的其他echo系统。现在我想从RDBMS中获取数据,并将其实时存储在HDFS中。我们可以在同一个集群中使用Confluent Source Connector和HDFS2 Sink Connector吗?还是我需要为Kafka Connect

  • 我通过https://help.github.com/articles/creating-project-pages-manual/管理github通过Jeckyl运行我的index.md并在github.io下显示它。然而,我的图像链接的这个形式: 当从markdown文件运行时,我可以将图像与GitHub.io一起使用吗?

  • 问题内容: 我刚刚开始学习jQuery和AJAX。我可以通过将本地页面(在磁盘上)加载到div中,但是外部站点似乎无法正常工作。我什至使用Wireshark来检查数据是否从服务器发送(是)。示例代码如下: 首先可以这样做吗?如果是这样,怎么办? 问题答案: 开箱即用:否。这是一个安全问题。但是,有一些 不同的 解决方法。

  • 问题内容: 我有3个数据库。1链接到2,2链接到3。我想从1查询3中的表。我尝试了third_db_tab @ 3 @ 2,但它不起作用。想知道这是否可能,如果可能,语法是什么。 问题答案: 我认为您可以通过创建同义词来做到这一点。在数据库2中创建一个同义词: 然后在数据库1中创建第二个同义词: 这未经测试(我现在没有运行三个数据库),但是我认为Oracle足够聪明,可以解开同义词。

  • 问题内容: 您如何链接(与),以便浏览器转到目标页面上与顶部相对的某些子标题? 问题答案: 如果有标签或任何带有(例如>)的标签,则只需将其附加到URL。否则,您将无法任意链接到页面的某些部分。 这是一个完整的示例: 在同一页面上链接内容的示例: