[英]Add href text to link if clicked
我有一個包含多個鏈接的頁面。 某些鏈接指向相同的URL。 我想在單擊其中一個重復鏈接時將文本(可鏈接的href文本)添加到單擊(或懸停?)的鏈接。
到目前為止,我似乎只能添加第一個鏈接的文本而不是我點擊的文本。
我嘗試過一些東西,但我還在學習JavaScript(我很羡慕你們),我擔心我會越努力搞砸它。 我知道我可能不得不使用懸停或以某種方式更改getElementsByTagName("a")[0]...
任何幫助將不勝感激!
<p>
<a href="http://www.1.com" target="_blank">dog</a>
<a href="http://www.2.com" target="_blank">cat</a>
<a href="http://www.3.com" target="_blank">bird</a>
<a href="http://www.3.com" target="_blank">frog</a>
</p>
使用Javascript:
$var anchors = document.querySelectorAll('a[href$="http://www.3.com"]');
Array.prototype.forEach.call(anchors, function (element, index) {
element.href = document.getElementsByTagName("a")[0].innerHTML;
});
示例當我單擊鏈接“dog”時,我想打開一個新的瀏覽器選項卡/窗口,其URL為“ http://www.1.com ”
當我點擊鏈接“cat”時,我想打開一個新的瀏覽器標簽/窗口,其URL為“ http://www.2.com ”
當我點擊“鳥”鏈接時,我想打開一個新的瀏覽器標簽/窗口,其URL為“bird”
當我點擊“青蛙”鏈接時,我想打開一個新的瀏覽器標簽/窗口,其URL為“青蛙”
因此,任何具有“ http://www.3.com ”作為href的鏈接都將忽略“ http://www.3.com ”,而是打開一個新的瀏覽器選項卡/窗口,其中包含剛剛單擊的文本。
此外,我無法在鏈接/ HTML中添加ID,類,腳本等,因此我必須弄清楚如何將所有這些作為JS引用href而不是HTML內部。
不確定這是否正是您所要求的,但本演示是一個示例,我將href並將其附加到文本中。
HTML
<a href='#' onclick='change(this)'>link one</a>
<a href='#' onclick='change(this)'>link two</a>
<a href='#' onclick='change(this)'>link three</a>
<a href='#' onclick='change(this)'>link four</a>
CSS
a {
float: left;
clear: both;
}
JavaScript的
function change(variable) {
variable.innerHTML = variable.innerHTML + variable.href;
}
我的一位同事找到了解決方案。 感謝大家的幫助。
選項1:
替換我原來的JS的一部分:
“ document.getElementsByTagName(”a“)[0] .innerHTML ”
有:
“ window.location ”
要么
選項2: jsfiddle
替換我原來的所有JS:
$var anchors = document.querySelectorAll('a[href$="http://www.3.com"]');
Array.prototype.forEach.call(anchors, function (element, index) {
element.href = document.getElementsByTagName("a")[0].innerHTML;
});
附:
var anchors = $('a[href$="http://www.3.com"]');
$.each(anchors, function (index, element) {
$(element).attr('href',$(element).text());
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.