JAVASCRIPT:如何获取页面中链接的URL?

时间:2014-03-12 21:02:55

标签: javascript url iframe

如何获取页面中链接的URL?

如何获取iframe的当前src?

如果链接的网址与iframe中的src相同,我想要为网页中的链接添加特殊背景颜色。

也就是说,当您单击该链接时,它会以iframe为目标(当然更改其src)。我希望链接的背景颜色发生变化。当我点击定位iframe的下一个链接时,我也希望它能够改回来。

我认为我需要javascript来执行此操作。我虽然是noob,所以我不确定如何评估链接的网址,以便我可以根据iFrame的来源对其进行测试,并更改链接的背景"如果"言。

我想我可以使用onClick事件来改变背景颜色(并恢复所有相邻链接的背景颜色)而根本不读取iframe src,但这是最优雅的方式吗? (总共大约有10个链接!..)

以下是我编写的一些代码,只是为了看看我是否可以使用javascript以某种方式读取链接中的网址,但它只是不会为我工作。

<script type="text/javascript"> 
var myLink = document.getElementById("myLink");
var myURL = myLink.URL; 
alert(myURL);
</script>

警报不会弹出。

任何帮助表示赞赏。谢谢。

5 个答案:

答案 0 :(得分:2)

使用此:

var myLink = document.getElementById("myLink");
var myURL = myLink.href; 
alert(myURL);

HREF而不是网址。

答案 1 :(得分:1)

首先,您需要正确调试它。 无论你有没有url,Alert()都应该一直有效, 所以使用chrome,尝试你的代码,然后右击 - &gt;检查元素 - &gt;控制台,看看是否有任何错误信息? 你也可以设置断点来跟踪你的代码, 希望这有帮助!

答案 2 :(得分:0)

获取iframe的src

<iframe id="myIframe" src="http://www.example.com"></iframe>

var iframe = document.getElementById('myIframe');
var iframeSrc = iframe.src;

答案 3 :(得分:0)

获取“Link”元素的属性:

var myLink = document.getElementById("myLink");
// for href attribut
var AttributValue = myLink.getAttribute("href");
alert(AttributValue);

// for class attribut
var AttributValue = myLink.getAttribute("class");

....

答案 4 :(得分:0)

我会这样做:

为所有链接提供一个类,如下所示:

HTML

...
<a href="XYZ" onclick="javascript:void(0)" class="navLink">Link A</a>
...

然后有你的初始化功能&#39; initLinks()&#39;循环浏览这些链接并设置他们的onclick&#39;处理点击的函数的事件处理程序(&#39; onClickLink()&#39;) 该函数将重置先前活动链接的背景颜色并设置新链接bg颜色。此外,它将当前链接存储为下一个执行的上一个活动链接。另外(最重要的),它设置iframe src &#39;这&#39;表示触发该功能的元素,因此相应的&#39;&#39;链接。

JAVASCRIPT

window.onload = initLinks; // let initLinks() be executed when page has loaded

var prevActiveLink; // previously active link

function initLinks(){ // does all the startup work for the links

var allLinks = document.getElementsByClassName('navLink'); // get all links (that have your classname)
for (var i=0, i<allLinks.length, i++){ // loop through them
allLinks[i].onclick = onClickLink; // set their onclick event to your function
}
prevActiveLink = allLinks[0]; // Set the first link to the previously active link (so that onClickLink() doesn't throw 'undefined' error at first execution)
allLinks[0].onclick(); // Select the first link at start
}

function onClickLink(){
document.getElementById('myIframe').src = this.href; // Set iframe src

prevActiveLink.backgroundColor = "white"; // set previously active link's background-color back to white
this.backgroundColor = "red"; // set new active link's background-color to your color

prevActiveLink = this; // set current active link to next executions previous active link
}