Javascript 内部css不';我不能用JS
我试图在JS中创建的表中使用以下css代码,但它似乎没有任何样式,我不知道为什么 下面是代码: CSS代码:Javascript 内部css不';我不能用JS,javascript,html,css,Javascript,Html,Css,我试图在JS中创建的表中使用以下css代码,但它似乎没有任何样式,我不知道为什么 下面是代码: CSS代码: <style type="text/css"> div.team { margin-right: 30%; } .team table { border-collapse: collapse; } .team table td { background-color:
<style type="text/css">
div.team
{
margin-right: 30%;
}
.team table
{
border-collapse: collapse;
}
.team table td
{
background-color: #4F5FAC;
border: 2px groove grey;
}
.team table th
{
font-style: italic;
background-color: #0B1260;
padding: 0 15px;
color: white;
border: 2px groove black;
}
.team tr td:first-child
{
color: yellow;
font-weight: bold;
text-align: center;
}
</style>
分区队
{
保证金权利:30%;
}
.团队表
{
边界塌陷:塌陷;
}
.团队表td
{
背景色:#4F5FAC;
边框:2个灰色凹槽;
}
.团队表th
{
字体:斜体;
背景色:#0B1260;
填充:0 15px;
颜色:白色;
边框:2个黑色凹槽;
}
.团队tr td:第一个孩子
{
颜色:黄色;
字体大小:粗体;
文本对齐:居中;
}
JS代码:
myWindow=window.open('table.html');
myWindow.document.write("<table class = 'team'>");
myWindow.document.write("<tr><td> שם פרטי: </td><td>" + document.reg.name.value + "</td></tr> <tr><td> שם משפחה: " + document.reg.lname.value + "</td></tr> <tr><td> אימייל: " + document.reg.email.value + "</td></tr> <tr><td> סיסמא: " +document.reg.password.value +"</td></tr>");
myWindow.document.write("</table>");
myWindow=window.open('table.html');
myWindow.document.write(“”);
myWindow.document.write(“שםפרייי:”+document.reg.name.value+“document.reg.email.value+”document.reg.password.value+);
myWindow.document.write(“”);
你知道我为什么不了解表格的样式吗?(没有js它也能工作)
提前谢谢 CSS
元素只应用于它们所在的页面。你正在打开一个全新的页面。它需要自己的CSS副本
您可以给
元素一个“id”,然后复制它
<style id='page-style'> ... </style>
。。。
然后:
var myWindow=window.open('table.html');
myWindow.document.write(“”+document.getElementById('page-style').innerHTML+“”);
// ... 创建表的代码
在Internet Explorer上,我认为您需要“innerText”而不是“innerHTML”
无论如何,将样式保存在单独的样式表中可能更好。尝试在团队类中使用双引号(“”)。我发现至少有四个问题:
table.html
中document.write()
,则会清除当前文档(包括以前包含的所有样式规则)并启动新文档。因此,这些样式规则无法在table.html
文件中生效,因为您已经清除了该文档先前的内容。如果要向现有页面添加内容而不破坏其当前内容和样式,则需要在现有DOM对象上使用DOM插入API调用,如.append()
或.insertBefore()
或设置.innerHTML
.team table
需要是table.team
和.team table th
需要是:table.team th
。当标识符之间有空格时,如.team table
中所示,这意味着您希望将table
对象与class=“team”
的祖先相匹配。如果希望对象同时是表
和class=“team”
,则两个标识符之间不必有空格,如:table.team
table.html
内容的同时向此新窗口添加内容,则必须等待加载(使用onload()
事件或其他DOMReady
事件之一),然后才能修改其内容,并且不能使用document.write()
好的,假设您不需要table.html中的任何内容,您可以使用以下代码从头创建一个新窗口:
function openMyWindow() {
var newWin = window.open("", "table");
newWin.document.write("<div class='team'>");
newWin.document.write('<table>');
newWin.document.write("<tr><td> שם פרטי: </td><td>" +
document.reg.name.value + "</td></tr> <tr><td> שם משפחה: " +
document.reg.lname.value + "</td></tr> <tr><td> אימייל: " +
document.reg.email.value + "</td></tr> <tr><td> סיסמא: " +
document.reg.password.value +"</td></tr>");
newWin.document.write("</table>");
newWin.document.write("</div>");
var cssLink = newWin.document.createElement("link")
cssLink.href = "iframestylefile.css";
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
newWin.document.getElementsByTagName('head')[0].appendChild(cssLink);
}
函数openMyWindow(){
var newWin=window.open(“,“table”);
newWin.document.write(“”);
newWin.document.write(“”);
newWin.document.write(“שםפריי”):+
document.reg.name.value+“שםמשפחה:”+
document.reg.lname.value+“document.reg.lname.value:”+
document.reg.email.value+“סיסא:”+
document.reg.password.value+“”);
newWin.document.write(“”);
newWin.document.write(“”);
var cssLink=newWin.document.createElement(“链接”)
cssLink.href=“iframestylefile.css”;
cssLink.rel=“样式表”;
cssLink.type=“text/css”;
newWin.document.getElementsByTagName('head')[0].appendChild(cssLink);
}
您可以在此处看到此工作:。样式规则不会在那里应用,因为css文件没有正确的完整URL。您不能将样式应用到另一个css为一个页面的页面。
将CSS上载到文件,然后使用以下代码段将CSS加载到打开的页面上
myWindow=window.open('table.html');
var cssLink = document.createElement("link")
cssLink.href = "iframestylefile.css";
cssLink .rel = "stylesheet";
cssLink .type = "text/css";
myWindow.document.body.appendChild(cssLink);
// Now carry on writing the elements
单引号在HTML中很好。试试看。愿它奏效。你和不同的浏览器核对过了吗?我知道了,解决这个问题的方法是什么?你需要将
元素从源页面复制到新页面中。创建seprate css文件并在table中使用。htmlright,谢谢你,我会试试看,这似乎是正确的答案。这只是众多问题中的一个。而且,在指定时不能立即打开新窗口
myWindow=window.open('table.html');
var cssLink = document.createElement("link")
cssLink.href = "iframestylefile.css";
cssLink .rel = "stylesheet";
cssLink .type = "text/css";
myWindow.document.body.appendChild(cssLink);
// Now carry on writing the elements