将 javascript ID 添加为 Href

雷金纳德1234

目标:每次用户刷新页面时,都会出现一个新的随机“方块”,上面有文本(标签)和图像(图标),当用户点击“方块”时,它将重定向到一个新链接(href) .

我的计划:每次刷新页面时,都会随机选取数组 (myArray) 中的对象。来自对象的属性(标签、图标和 href)的值将被调用,并将用于创建“正方形”。

这是我到目前为止所做的:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>   
  var myArray = [{
    label: "Appels",
    icon: "./Appels.png",
    href: "./Appels.html"
  }, {
    label: "Pears",
    icon: "./Pears.png",
    href: "./Pears.html"
  }, {
    label: "Banana",
    icon: "./Banana.png",
    href: "./Banana.html"
  }, {
    label: "Mango",
    icon: "./Mango.png",
    href: "./Mango.html"
  }];

  var randomItem1 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem2 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem3 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem4 = myArray[Math.floor(Math.random()*myArray.length)];

  document.addEventListener("DOMContentLoaded", function(event) {

    document.getElementById("randomItem1label").innerHTML = randomItem1.label;  
    document.getElementById("randomItem1icon").innerHTML = randomItem1.icon;  
    document.getElementById("randomItem1href").innerHTML = randomItem1.href; 
      
    document.getElementById("randomItem2label").innerHTML = randomItem2.label;  
    document.getElementById("randomItem2icon").innerHTML = randomItem2.icon;  
    document.getElementById("randomItem2href").innerHTML = randomItem2.href;
      
    document.getElementById("randomItem3label").innerHTML = randomItem3.label;  
    document.getElementById("randomItem3icon").innerHTML = randomItem3.icon;  
    document.getElementById("randomItem3href").innerHTML = randomItem3.href;
      
    document.getElementById("randomItem4label").innerHTML = randomItem4.label;  
    document.getElementById("randomItem4icon").innerHTML = randomItem4.icon;  
    document.getElementById("randomItem4href").innerHTML = randomItem4.href;      

  });
</script>
<p>Random 1</p>
    
  <!-- <div id = "randomItem1label"> </div> -->
  <div id = "randomItem1icon"> </div>
  <div id = "randomItem1href"> </div>  

<p>Random 2</p>
    <div id = "randomItem2label"> </div>
    <div id = "randomItem2icon"> </div>
    <div id = "randomItem2href"> </div>
    
<p>Random 3</p>
    <div id = "randomItem3label"> </div>
    <div id = "randomItem3icon"> </div>
    <div id = "randomItem3href"> </div>
    
<p>Random 4</p>
    <div id = "randomItem4label"> </div>
    <div id = "randomItem4icon"> </div>
    <div id = "randomItem4href"> </div>
         
<hr>
    Making of the "Square" without CSS (So not really a square)
<hr>
    
            <div class="col-md-3">
                <div class="block">
                    <a href="/placeholderlink" id="testlink"> <!-- href -->
                        <div class="block_icon">
                            <img src=""> <!-- icon -->
                        </div>
                        <div class="block_info">
                               <div id = "randomItem1label"> </div>  <!-- Label -->
                        </div>
                    </a>
                </div>
            </div>   
  
    <script>
    var link =  document.getElementById("testlink");
    link.setAttribute("href",    "ID FROM  id = randomItem1href HERE  " );    
    </script>
</body>
</html>

如您所见,标签 ID 被插入到“方块”中

问题:属性、图标和 href 没有插入到“方块”中。我曾尝试使用,link.setAttribute但在添加 ID 时遇到问题。

<div id = "randomItem1href"> </div>    
<a href="/placeholderlink" id="testlink"> <!-- href -->

 <script>
  var link =  document.getElementById("testlink");
  link.setAttribute("href", ***id = "randomItem1href"*** );    
 </script>

id = "randomItem1href"不工作我怎么能把我的 id 值放在那里。

我希望我的问题很清楚。

解决了

一个儿子

假设应将id及其用作 url 参数,您可以执行以下操作,并将其附加到锚点href

堆栈片段

var div = document.querySelector('#randomItem1href');
var anchor = document.querySelector('a');

anchor.href += "?id=" + div.id;

console.log(anchor.href)
<div id = "randomItem1href"> </div>  

<a href="some_url">some url</a>


问题编辑后更新

这是您的代码片段的更新,我像这样对其进行了更改,如果您刷新它,它将随机对项目进行排序,并随之 href

var link =  document.getElementById("testlink");
link.href = randomItem4.href;    

堆栈片段

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>   
  var myArray = [{
    label: "Appels",
    icon: "./Appels.png",
    href: "./Appels.html"
  }, {
    label: "Pears",
    icon: "./Pears.png",
    href: "./Pears.html"
  }, {
    label: "Banana",
    icon: "./Banana.png",
    href: "./Banana.html"
  }, {
    label: "Mango",
    icon: "./Mango.png",
    href: "./Mango.html"
  }];

  var randomItem1 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem2 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem3 = myArray[Math.floor(Math.random()*myArray.length)];
  var randomItem4 = myArray[Math.floor(Math.random()*myArray.length)];

  document.addEventListener("DOMContentLoaded", function(event) {

    document.getElementById("randomItem1label").innerHTML = randomItem1.label;  
    document.getElementById("randomItem1icon").innerHTML = randomItem1.icon;  
    document.getElementById("randomItem1href").innerHTML = randomItem1.href; 
      
    document.getElementById("randomItem2label").innerHTML = randomItem2.label;  
    document.getElementById("randomItem2icon").innerHTML = randomItem2.icon;  
    document.getElementById("randomItem2href").innerHTML = randomItem2.href;
      
    document.getElementById("randomItem3label").innerHTML = randomItem3.label;  
    document.getElementById("randomItem3icon").innerHTML = randomItem3.icon;  
    document.getElementById("randomItem3href").innerHTML = randomItem3.href;
      
    document.getElementById("randomItem4label").innerHTML = randomItem4.label;  
    document.getElementById("randomItem4icon").innerHTML = randomItem4.icon;  
    document.getElementById("randomItem4href").innerHTML = randomItem4.href;      

  });
</script>
<p>Random 1</p>
    
  <!-- <div id = "randomItem1label"> </div> -->
  <div id = "randomItem1icon"> </div>
  <div id = "randomItem1href"> </div>  

<p>Random 2</p>
    <div id = "randomItem2label"> </div>
    <div id = "randomItem2icon"> </div>
    <div id = "randomItem2href"> </div>
    
<p>Random 3</p>
    <div id = "randomItem3label"> </div>
    <div id = "randomItem3icon"> </div>
    <div id = "randomItem3href"> </div>
    
<p>Random 4</p>
    <div id = "randomItem4label"> </div>
    <div id = "randomItem4icon"> </div>
    <div id = "randomItem4href"> </div>
         
<hr>
    Making of the "Square" without CSS (So not really a square)
<hr>
    
            <div class="col-md-3">
                <div class="block">
                    <a href="/placeholderlink" id="testlink"> <!-- href -->
                        <div class="block_icon">
                            <img src=""> <!-- icon -->
                        </div>
                        <div class="block_info">
                               <div id = "randomItem1label"> </div>  <!-- Label -->
                        </div>
                    </a>
                </div>
            </div>   
  
    <script>
    var link =  document.getElementById("testlink");
    link.href = randomItem1.href;    
    </script>
</body>
</html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将JavaScript变量添加到href

来自分类Dev

SilverStripe 3.3-将CMS字段添加为JavaScript变量

来自分类Dev

Javascript将整数添加为字符串

来自分类Dev

如何将链接添加为<html> href到mysql数据库记录?

来自分类Dev

将ID添加为会话中的数组,并根据其中的ID返回产品

来自分类Dev

将ID添加为会话中的数组,并根据其中的ID返回产品

来自分类Dev

Javascript:无法将href添加到列表项

来自分类Dev

使用JavaScript将URL添加到href标签

来自分类Dev

将数据添加为数组

来自分类Dev

将TableViewController添加为SubView

来自分类Dev

将列添加为背景

来自分类Dev

rails link_将post.id添加到href

来自分类Dev

自动将当前页面的ID添加到href

来自分类Dev

使用融合身份验证JWT填充lambda是否可以将租户ID添加为声明?

来自分类Dev

将 "href=javascript:" 重写为 javascript

来自分类Dev

JavaScript 向 href 添加变量

来自分类Dev

将索引添加为下拉菜单

来自分类Dev

将页面添加为第n页

来自分类Dev

将UITableView添加为子视图

来自分类Dev

将通用代理添加为字典值

来自分类Dev

将Tripadvisor评论添加为Rich Snippet

来自分类Dev

尝试将图像添加为pygame背景

来自分类Dev

将元组添加为键字典

来自分类Dev

Nhibernate将参数添加为内联文本

来自分类Dev

将XtraReport添加为Outlook中的附件

来自分类Dev

将类型添加为对象的键

来自分类Dev

将rho添加为valueBox中的图标

来自分类Dev

将localstorage链接添加为图像src

来自分类Dev

熊猫:将数组添加为列的值