gpt4 book ai didi

javascript - 将子元素添加到一组匹配元素的父元素,并使用父 Div href - Javascript

转载 作者:可可西里 更新时间:2023-11-01 15:02:25 24 4
gpt4 key购买 nike

我有一种情况需要将子 div 附加到一组元素。子元素是一个 div,它有一个从其父元素获取 href 的 anchor 链接。

当我最初只使用一个 div 执行此操作时,一切都非常简单,但现在我试图让它在一组带有 CSS 类选择器的元素上工作,我似乎只是在兜圈子它变得非常令人沮丧:(

这是代码笔链接:https://codepen.io/emilychews/pen/XgrqWZ

这是第二个代码笔,说明它应该是什么样子(这个例子只有一个父元素):https://codepen.io/emilychews/pen/RgbawK

我刚刚想到的另一个问题是,当有多个实例使用同一个类时,我如何才能让每个子元素始终从父元素获取 is href?

任何帮助都会很棒。艾米丽。

HTML

<div class="outerbox">
<a href="https://www.google.co.uk">Here is a job Title</a>
</div>

<div class="outerbox">
<a href="https://www.bbc.co.uk">Here is a job Title</a>
</div>

CSS

* {font-family: arial; color: white;}

body {display: flex; justify-content: space-around;}

.outerbox {
display: flex;
justify-content: center;
align-items: center;
width: 250px;
height: 200px;
background: red;
position: relative;
padding: 20px;
box-sizing: border-box;
}

.outerbox a {margin-right: auto; margin-bottom: auto;}

.innerbox {
background: blue;
position: absolute;
padding: 15px 30px;
}

.innerbox a { text-decoration: none;}

JS

// DECLARE OUTERBOX
var outerbox = document.querySelectorAll('.outerbox');

// GET PARENT ELEMENT HREF ATTRIBUTE
var parentLink = document.querySelectorAll('.outerbox a');

for (var i = 0; i < parentLink.length; i+=1) {
var innerHREF = parentLink[i].getAttribute("href");
}

// CREATE INNERBOX
var innerBox = document.createElement('div');
innerBox.classList = "innerbox";

// CREATE ANCHOR LINK AND PASS IN HREF VAR
var anchorTag = document.createElement('a');
anchorTag.setAttribute("href", innerHREF); // pass in innerHREF var
anchorTag.appendChild(innerHREF);
anchorTag.innerHTML = "Apply";

for (var j = 0; j = innerbox.length; j+=1) {
innerbox[j].appendChild(anchorTag)
}

// ADD INNERBOX TO OUTERBOX

outerbox.appendChild(innerBox);

最佳答案

你的 javascript 有一些错误,试试这个

        <script>
document.querySelectorAll('.outerbox').forEach(function(element){
//get parent link
//var innerHREF=element.querySelector('a').href;
//you need no var, i put it direct on line marked with //*****
//create innerBox
var innerBox = document.createElement('div');
innerBox.classList.add('innerbox');
// CREATE ANCHOR LINK AND PASS IN HREF VAR
var anchorTag = document.createElement('a');
anchorTag.setAttribute("href", element.querySelector('a').href); //***
anchorTag.innerHTML = "Apply";
innerBox.appendChild(anchorTag);
element.appendChild(innerBox);
});
</script>

关于javascript - 将子元素添加到一组匹配元素的父元素,并使用父 Div href - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44329342/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com