我在div元素中有一个隐藏/显示无iframe,我想用javascript获取标签的href属性我的代码是
HTML
<div id="questions" style="display: none;">
<iframe id="article_frame" width="100%" height="100%">
<a href="someurl" id="en_link">Click here</a>
</iframe>
</div>
JS
window.onload = function() {
alert("Hello " + window.document.getElementById("article_frame"));
}
但我得到警告“Hello null”任何解决方案
由于
答案 0 :(得分:0)
好的我觉得这可能有点矫枉过正,但它可以满足你的需求(iframe中锚标签的href值):
window.onload = function() {
var frame = window.document.getElementById("article_frame");
var myString = frame.childNodes[0].textContent
, parser = new DOMParser()
, doc = parser.parseFromString(myString, "text/xml");
var hrefValue = doc.firstChild.getAttribute('href');
alert("Hello " + hrefValue);
}
我想这取决于你的要求,但另一种方法是创建一个字符串然后使用函数:substring和indexof你可以获得你的价值。以下是获取字符串的方法:
window.onload = function() {
var frame = window.document.getElementById("article_frame");
var elementString = frame.childNodes[0].textContent;
//then perform your functions on the string here
}
答案 1 :(得分:0)
全部谢谢,
我用javascript得到答案它只是简单的代码
var anchor = document.getElementById('en_article_link').firstChild;
var newLink = anchor.getAttribute("href")+"sid="+sidvalue;
anchor.setAttribute("href", newLink);
答案 2 :(得分:-1)
请注意,由于Same-Origin Policy (Wikipedia),您只能访问包含同一域中网页的iframe内容。
我建议使用jQuery。这里的技巧是:
$("#article_frame").ready()
$("#article_frame").contents()
从那里你只是处理手头的任务:
$("#article_frame").ready(function() {
alert("Hello " + $("#article_frame").contents().find("#en_link").href);
});