【发布时间】:2021-09-30 15:32:48
【问题描述】:
我有一个产品列表,我想做的是让产品的价格像链接到相同产品 URL 的产品标题一样可点击。
我创建了一个 for 循环来尝试执行此操作,但我遇到的问题是每个产品的每个 href 链接都是针对每个产品创建的,而我只需要一个带有相应 href 链接的价格。我该如何纠正这个问题?
注意:我无权更改原始 html,这就是我尝试在 javascript 中进行这些更改的原因
var getAllLinks = document.querySelectorAll('.productTitle').forEach(function(el){
var createNewLinks = document.querySelectorAll('.productPrice').forEach(function (elem){
elem.insertAdjacentHTML("afterend", "<a href=" + el.getAttribute('href') + ">"+ elem.innerText +"</a>");
})
});
.container {padding-bottom: 20px;}
<article class="container" data-ga-product="04245">
<div class="productContent">
<a class="productTitle" href="#product1">Product 1</a>
<div class="productPriceContainer">
<div class="productPrimary">
<span class="productPrice">€ 5,90</span>
</div>
</div>
</div>
</article>
<article class="container" data-ga-product="05395">
<div class="productContent">
<a class="productTitle" href="#product2">Product 2</a>
<div class="productPriceContainer">
<div class="productPrimary">
<span class="productPrice">€ 145,90</span>
</div>
</div>
</div>
</article>
<article class="container" data-ga-product="263743">
<div class="productContent">
<a class="productTitle" href="#product3">Product 3</a>
<div class="productPriceContainer">
<div class="productPrimary">
<span class="productPrice">€ 35,90</span>
</div>
</div>
</div>
</article>
<article class="container" data-ga-product="60493">
<div class="productContent">
<a class="productTitle" href="#product4">Product 4</a>
<div class="productPriceContainer">
<div class="productPrimary">
<span class="productPrice">€ 125,90</span>
</div>
</div>
</div>
</article>
【问题讨论】:
标签: javascript href getattribute