我可以完全依赖jQuery的html()方法表现相同innerHTML吗?innerHTML和jQuery的html()方法有什么区别吗?如果这些方法都这样做,我可以使用jQuery的html()方法代替innerHTML吗?
我的问题是:我正在处理已设计的页面,页面包含表格,在JavaScript中,该innerHTML属性用于动态填充它们.
该应用程序在Firefox上工作正常,但Internet Explorer会触发错误:unknown runtime exception.我使用jQuery的html()方法,IE的错误消失了.但我不确定它是否适用于所有浏览器,我不确定是否innerHTML用jQuery的html()方法替换所有属性.
非常感谢.
为什么我会收到错误或Uncaught TypeError:无法设置null的属性'innerHTML'?我以为我理解innerHTML并且之前有过工作.
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<script type ="text/javascript">
what();
function what(){
document.getElementById('hello').innerHTML = 'hi';
};
</script>
</head>
<body>
<div id="hello"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我希望能够在div中添加多行并删除它们.我在页面顶部有一个"+"按钮,用于添加内容.然后在每一行的右边有一个' - '按钮,用于删除那一行.我只是无法弄清楚这个例子中的javascript代码.
这是我的基本HTML结构:
<input type="button" value="+" onclick="addRow()">
<div id="content">
</div>
Run Code Online (Sandbox Code Playgroud)
这是我想在内容div中添加的内容:
<input type="text" name="name" value="" />
<input type="text" name="value" value="" />
<label><input type="checkbox" name="check" value="1" />Checked?</label>
<input type="button" value="-" onclick="removeRow()">
Run Code Online (Sandbox Code Playgroud) 可以使用myTextArea.value或者我应该使用JavaScript获取textarea元素的值myTextArea.innerHTML吗?
谢谢.
我被告知不要使用element.innerHTML += ...这样的东西来附加东西:
var str = "<div>hello world</div>";
var elm = document.getElementById("targetID");
elm.innerHTML += str; //not a good idea?
Run Code Online (Sandbox Code Playgroud)
这有什么问题?我还有其他选择吗?
假设我有一个页面div.我可以很容易地得到那个div soup.find().
现在我已经得到了结果,我想要打印出innerhtml它的全部内容div:我的意思是,我需要一个包含所有html标签和文本的字符串,就像我在javascript中获得的字符串一样obj.innerHTML.这可能吗?
我想知道是否有办法在不使用innerHTML的情况下更改HTML中的任何内容.
我问的原因是因为它对W3C有点不满意.我知道这是挑剔,但我只是想知道,有办法吗?
编辑:人们似乎误解了我在这里问的问题:我想找到一种方法来有效地改变正在显示的文本.
如果我有:
<div id="one">One</a>
Run Code Online (Sandbox Code Playgroud)
innerHTML允许我这样做:
var text = document.getElementsById("one");
text.innerHTML = "Two";
Run Code Online (Sandbox Code Playgroud)
我屏幕上的文字会发生变化.
我不想附加更多文字,我希望改变现有的文字.
我有一个php生成的列表,其列表项可以使用jquery selectable widget选择.所有意图和目的的列表是:
<ul id="#select-image">
<li class="ui-widget-content">Item 1</li>
<li class="ui-widget-content">Item 2</li>
<li class="ui-widget-content">Item 3</li>
<li class="ui-widget-content">Item 4</li>
<li class="ui-widget-content">Item 5</li>
<li class="ui-widget-content">Item 6</li>
<li class="ui-widget-content">Item 7</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
并且jQuery selectable声明为:
<script>
$(function() {
$("#select-image").selectable({
selected: function( event, ui ) {
var $variable = $('.ui-selected').innerHTML;
console.log($variable);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
在选择列表项之后发生事件,在示例中它将输出到浏览器控制台.然而输出是"未定义的".选择器$('.ui-selected').是正确的,因为它在浏览器的控制台中显示为对象.我哪里错了?
如何innerHTML使用javascript设置HTML文档或整个内容?
例如,我的文档看起来像这样:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-language" content="en"/>
<title>Webpage Generator</title>
<script type="text/javascript">
var newDocument = "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" \n\t"http://www.w3.org/TR/html4/loose.dtd">\n<html>\n<head>\n\t<title>Greetings!</title>\n</head>\n<body>\n\t<p>Howdy!</p>\n</body>\n</html>";
document.innerHTML = newDocument;
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是浏览器会加载以下HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Greetings!</title>
</head>
<body>
<p>Howdy!</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个textarea文本Hello World.我想得到这篇文章的高度.
我试过用:
var element = document.getElementById('textarea');
var textHeight = element.innerHTML.offsetHeight;
Run Code Online (Sandbox Code Playgroud)
和:
var textHeight = element.value.offsetHeight;
Run Code Online (Sandbox Code Playgroud)
但是这些不是给出文本的数字,而是给出textarea元素的高度.
innerhtml ×10
javascript ×9
html ×6
dom ×2
jquery ×2
textarea ×2
onload ×1
python ×1
selectable ×1
w3c ×1