什么是在IE中将X行插入表中的最佳普通javascript方式.
表格html如下所示:
<table><tbody id='tb'><tr><td>1</td><td>2</td></tr></tbody></table>
Run Code Online (Sandbox Code Playgroud)
我需要做的是,丢弃旧体,并插入一个1000行的新体.我有1000行作为javascript字符串变量.
问题是IE中的表没有innerHTML函数.我见过很多黑客,但我希望看到你最好的一个.
注意:使用jquery或任何其他框架不计算在内.
在我的JSP中,我使用的自定义标记<showDateFormat/>
如下:
Date From:<showDateFormat/>
Run Code Online (Sandbox Code Playgroud)
在我的common.js文件中
function addDateFormatInfo(){
var dateFormatHolder = document.getElementsByTagName("showDateFormat");
if ( dateFormatHolder ){
for ( i = 0 ; i < dateFormatHolder.length; i++ ){
dateFormatHolder[i].innerHTML = '<div class="infoSmall" ><span>(mm/dd/yyyy)</span></div>';
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以在我的页面中,只要有showDateFormat标签被使用,它就会显示出来(mm/dd/yyyy).它在FF中工作正常,但在IE中却没有.可能是什么问题呢?
我想获得一个DIV的名字
<div id="test" name="info1" onclick="func(this.name)">This is div 1</div>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用innerHTML打印出div的名称时,将返回undefined.可以这样做还是我做错了什么?
任何人都知道为什么这不适用于Firefox?
<script type="text/javascript">
function goHo() {
hu.innerHTML="????";
}
</script>
<div class="contentPane" id="Calculator" style="display: block;">
<h2>Savings Calculator</h2><a href="Home" class="backArrow"></a>
<h3>How much do you spend on heating and hot water a year?</h3>
<div id="SpendOptions">
<ul class="optionList">
<a href="#" onMouseOut="goHo()" onMouseOver="hu.innerHTML='£60-180'"><li id="CostOption1">£600 - £900</li></a>
<a href="#" onMouseOut="goHo()" onMouseOver="hu.innerHTML='£90-240'"><li id="CostOption2">£900 - £1200</li></a>
<a href="#" onMouseOut="goHo()" onMouseOver="hu.innerHTML='£120-300'"><li id="CostOption3">£1200 - £1500</li></a>
<a href="#" onMouseOut="goHo()" onMouseOver="hu.innerHTML='£150-360'"><li id="CostOption4">£1500 - £1800</li></a>
<a href="#" onMouseOut="goHo()" onMouseOver="hu.innerHTML='£360'"><li id="CostOption5">£1800+</li></a>
</ul>
</div>
<div id="SavingsBox" style="display: block;">
<h4>This year you could save:</h4>
<h1 id="hu"></h1> …Run Code Online (Sandbox Code Playgroud) 我可以使用document.createElement('div')创建一个div标签
但是我不知道如何给它一个独特的id.
谁能帮我这个.
我知道如何使用innerHTML来做到这一点,但它非常麻烦.(我听说这不是创建布局的好方法.)
我在我的HTML5页面上模拟一个模态窗口功能,通过创建一个div position: fixed,在浏览器窗口中居中等.在某些情况下,我的模态窗口只显示带有一个或多个按钮的消息,例如OK Cancel,但在其他情况下我是显示更复杂的表单,例如即时消息对话框.
问题是更复杂的情况.那么哪个更好,(1)<iframe>在我的"模态"窗口中有一个或者(2)<div>加上一些Ajax代码来检索我的表单的内容并将其注入到div的innerHTML中?
在这两种情况下有哪些警告?当你选择一个而不是另一个时,你的理由是什么?
浏览器要求:IE9 +和其他理智的浏览器.
编辑:这是JSFiddle的链接:http://jsfiddle.net/retserrof84/aLPPv/3/
所以这绝对是一个愚蠢的问题,但我现在已经在键盘上敲了几个小时.我正在尝试使用innerHTML来改变div的内容,并且它没有做任何事情.这是测试HTML:
<body>
<div id="hola">
Hola.
</div>
<div>
<a onclick="changeMe()">Click here.</a>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
好的,这是JavaScript:
function changeMe() {
document.getElementById("hola").innerHTML="Hello!";
}
Run Code Online (Sandbox Code Playgroud)
就是这样.有人可以帮我看看我做错了吗?奇怪的是我在一个更复杂的项目中使用了innerHTML和onclick它运行良好,所以我知道我必须犯一些愚蠢的错误.
我已经搜索了其他答案,我唯一能找到的就是函数可能会在ID存在之前以某种方式被调用,但是我已经将函数调用和受影响的元素分开了,稍后再调用函数,所以我不知道为什么那仍然是一个问题.任何帮助,将不胜感激.
我正在尝试使用innerHTML,但每当我运行它并在Google Chrome上按F12时,我会收到此错误:
未捕获的ReferenceError:未定义fun
这是我的代码:
<script type="text/javascript">
function fun(){
document.getElementById('checklist').innerHTML =
"<li> <input type="checkbox" > <label >Checkbox 1</label> </li>";
}
</script>
<p><input type="button" onclick="fun()" value="Add"/></p>
</div>
<h3></h3>
</div>
<div class="scroll" >
<ul class="listacheck" id="checklist">
</ul>
Run Code Online (Sandbox Code Playgroud)
我真的不明白为什么它说这个功能没有定义,如果有人能提供帮助,我会很高兴:)
我需要使用innerHTML快速更改在每个节点上设置的值。
我找到的最接近的解决方案是:
...
Object.defineProperty(Element.prototype, 'innerHTML', {
set: function () {
// get value (ok)
var value = arguments[0];
// change it (ok)
var new_value = my_function(value);
// set it (problem)
this.innerHTML = new_value; // LOOP
}
}
...
Run Code Online (Sandbox Code Playgroud)
但这显然是一个无限循环。有没有一种方法可以调用原始的innerHTML集?
我也尝试使用代理方式,但无法使其正常工作。
更多细节:
我正在一个实验项目中,该项目使用反向代理来生成CSP策略并将其添加到网站,因此:
javascript hook metaprogramming innerhtml content-security-policy
我正在写一个函数来插入一个时钟倒计时,该时钟输出小时和分钟直到发生某种事情。但是,我想自定义小时和分钟变量的HTML以显示在标记中。到目前为止,这就是我所拥有的:
var hours = math for hours goes here;
var minutes = math for minutes goes here;
document.getElementById("test").innerHTML = hours + "hrs"
+ minutes + "min";
Run Code Online (Sandbox Code Playgroud)
我不确定如何在小时和分钟元素周围添加HTML标签。本质上我希望它输出为
<span>12hrs</span>
<span>50min</span>
Run Code Online (Sandbox Code Playgroud)
我有可变的时间数学工作,但只需要在那里获取一些html span类。
感谢您提供的任何指导。