如何获取页面中链接的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>
警报不会弹出。
任何帮助表示赞赏。谢谢。
答案 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
}