suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Kann Load in JQuery zum Laden einer anderen HTML-Seite verwendet werden? Kann es Elemente auf einer anderen Seite bedienen?

Kann ich Elemente auf einer anderen Seite bedienen, wenn ich Load in JQuery verwende, um eine andere HTML-Seite zu laden?

淡淡烟草味淡淡烟草味2769 Tage vor662

Antworte allen(3)Ich werde antworten

  • 大家讲道理

    大家讲道理2017-05-19 10:38:43

    如果想要在本页面中,完整的加载一个子页面话,不建议直接load到本页面的元素上的哦;

    你看这种解决方案会不会好一点:

    一般做法是,先把这个子页面,通过修改src属性,加载在iframe里(这样子页面和母页面都有各自独立的作用域,最大限度的减少各种冲突);

    下一步就是取得iframe子页面中的window对象,以后就可以通过这个子页面的window对象,获取子页面对应的元素并且进行操作咯:

    <iframe src="动态替换这个属性即可"></iframe>
    // 获取iframe子页面的window对象
    var iframeWindow = document.getElementById('iframe的id').contentWindow;
    // 获取子页面的元素
    var element = iframeWindow.document.getElementById('子页面中某个元素的id');
    
    // jquery版
    var iframeWindow = $('iframe的选择器').prop('contentWindow');
    var element = $(iframeWindow).find('要获取元素的选择器');

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:38:43

    index是被load的页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p class="demo">
      我是load页面
    </p>
    </body>
    </html>

    test是执行load的页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <p id="p">
    
    </p>
    </body>
    <script src="jquery.js"></script>
    <script>
    $("#p").load("index.html",function () {
        console.log($(".demo").html())//打印出来
        $(".demo").html(
            "<span>load出来的页面 更改内容</span>" +
            "<span>哈哈哈</span>"
        )
    })
    
    </script>
    </html>

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-19 10:38:43

    你load完就可以随便操作了。

    Antwort
    0
  • StornierenAntwort