访问窗口元素中的类名

时间:2018-02-17 11:41:36

标签: javascript html

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));

但它不起作用

2 个答案:

答案 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函数。

&#13;
&#13;
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;
&#13;
&#13;