var win = window.open('', '_blank', 'PopUp' + ',width=1300,height=800');
win.document.write(`
<div class="col-sm-24">
<p class="page-title headerLabel"></p>
</div>`);
我有一个带有headerLabel类的窗口元素。在这段标签中,我想注入一些容易改变的数据......我试过了
var heading = Some Heading;
win.document.write($('.headerLabel').html(heading));
但它不起作用
答案 0 :(得分:0)
假设win
与包含此代码的窗口不同,您需要告诉jQuery使用其他文档而不是默认文档(当前窗口)。您也不希望write
,因为您修改现有元素。
$(win.document).find(".headerLabel").html("The new content");
应该这样做,虽然如果你要在另一个窗口中使用jQuery做任何复杂的事情,通常最好在另一个窗口中加载jQuery,然后调用该副本。
你也可以轻松地在没有jQuery的情况下做到这一点,这消除了这个问题:
win.document.querySelector(".headerLabel").innerHTML = "The new content";
答案 1 :(得分:0)
问题在于这一行: win.document.write($('.headerLabel').html(heading));
// I don't know what is win. So, let's make an example thinking this is another window.
var win = window;
您正在尝试撰写$('.headerLabel').html(heading)
的结果。所以,只需调用.html
函数。
var win = window; // I don't know what is win. So, let's make an example thinking this is another window.
win.document.write(`
<div class="col-sm-24">
<p class="page-title headerLabel"></p>
</div>`);
var heading = "Some Heading";
$('.headerLabel', win.document).html(heading)
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;