使用javascript访问隐藏div元素中的元素

时间:2014-05-22 06:32:49

标签: javascript

我在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”任何解决方案

由于

3 个答案:

答案 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。这里的技巧是:

  1. 等待iframe完成加载$("#article_frame").ready()
  2. 访问iframe的文档$("#article_frame").contents()
  3. 从那里你只是处理手头的任务:

    $("#article_frame").ready(function() {
      alert("Hello " + $("#article_frame").contents().find("#en_link").href);
    });