【问题标题】:Is there any function in jquery to replace whole html code with the new one? [duplicate]jquery中是否有任何功能可以用新的替换整个html代码? [复制]
【发布时间】:2019-10-02 17:25:04
【问题描述】:

我们在 javascript 中使用document.write() 在 HTML 文档中写入任何内容。这可以在 Jquery 的帮助下通过单击新选项卡中的按钮来完成吗?

var newHTML = "<html><head></head><body><div class='test-class'><p>this is a test div for the next page print with external appended jquery script.</p><h1>this is heading for extra content in page</h1></div></body></html>";
$(document.body).append(newHTML);

这不起作用。我想要那个,点击按钮 newHTML's content open in new tab

【问题讨论】:

  • 你应该避免 document.write。它有一些用途,但大多数情况下它是不适合这项工作的工具。这有点像用锤子打开窗户。它可以工作,但有更好的方法可以打开一个窗口。
  • 您从 document.write 中看到了哪些无法从 jQuery 追加获得的功能?

标签: javascript jquery


【解决方案1】:

jQuery 有许多操作 DOM 的函数,但没有一个等效于 document.write

没有理由让它有这样的东西。它不与元素选择(jQuery 的核心功能)交互,也不受益于任何类型的简化。

请记住,jQuery 只是其他人编写的一组 JavaScript 函数。加载 jQuery 并不会阻止您使用 document.write

【讨论】:

    【解决方案2】:

    您可以通过多种方法使用 jQuery 轻松地将内容添加到您的页面。这里有一些可能对您有所帮助:

    $( "body" ).append( "your content" );
    
    $( "div" ).html( "<span class='blue'>your content</span>" );
    

    【讨论】:

    • 那行不通。 “在新选项卡中”指定的问题 - 这是一个不同的文档。
    • @Quentin 这个问题实际上是说“点击按钮在新标签中”所以我认为这是一个更明智的答案,因为document.write() == "ewww"
    • 这无济于事,因为它不会在新标签中插入内容。这仅对在同一页面或选项卡上插入内容有用。
    猜你喜欢
    • 2016-09-24
    • 2016-03-02
    • 2015-05-15
    • 2014-04-14
    • 2022-11-10
    • 2014-01-18
    • 2019-11-03
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多