标签: innerhtml

如何使用jQuery替换div的innerHTML?

我怎样才能实现以下目标:

document.all.regTitle.innerHTML = 'Hello World';
Run Code Online (Sandbox Code Playgroud)

使用jQuery regTitle我的div ID 在哪里?

html javascript jquery innerhtml

984
推荐指数
11
解决办法
144万
查看次数

可以使用innerHTML插入脚本吗?

我尝试使用innerHTMLa 将一些脚本加载到页面中<div>.看起来脚本加载到DOM中,但它永远不会被执行(至少在Firefox和Chrome中).有没有办法让脚本在插入时执行innerHTML

示例代码:

<!DOCTYPE html>
<html>
  <body onload="document.getElementById('loader').innerHTML = '<script>alert(\'hi\')<\/script>'">
    Shouldn't an alert saying 'hi' appear?
    <div id="loader"></div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

html javascript dom innerhtml

194
推荐指数
12
解决办法
18万
查看次数

Angular 2 - innerHTML样式

我从HTTP调用中获取大量HTML代码.我将HTML块放在一个变量中并使用[innerHTML]将其插入到我的页面中,但我无法设置插入的HTML块的样式.有没有人有任何建议如何实现这一目标?

@Component({selector: 'calendar',
template: '<div [innerHTML]="calendar"></div>',
providers:[HomeService], 
styles: [` 
h3 {color:red;}
`})
Run Code Online (Sandbox Code Playgroud)

我想要设置样式的HTML是变量"calendar"中包含的块.

innerhtml angular

151
推荐指数
3
解决办法
11万
查看次数

Javascript - 将HTML附加到没有innerHTML的容器元素

我需要一种方法将HTML附加到容器元素而不使用innerHTML.我不想使用innerHTML的原因是因为它使用时如下:

element.innerHTML += htmldata

它的工作原理是在添加旧的html和新的html之前先替换所有的html.这不好,因为它重置了嵌入式Flash视频等动态媒体......

我能用这种方式做到这一点:

var e = document.createElement('span');
e.innerHTML = htmldata;
element.appendChild(e);
Run Code Online (Sandbox Code Playgroud)

然而,这种方式的问题是文档中现在有额外的span标记,我不想要.

那怎么办呢?谢谢!

html javascript innerhtml

148
推荐指数
4
解决办法
30万
查看次数

nodeValue vs innerHTML和textContent.怎么选择?

我使用普通的js来改变标签元素的内部文本,我不确定我应该使用innerHTML或nodeValue或textContent.我不需要创建新节点或更改HTML元素或任何东西 - 只需替换文本.这是代码的示例:

var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works

myLabel.firstChild.nodeValue = "Some new label text!"; // this also works.

myLabel.textContent = "Some new label text!"; // this also works.
Run Code Online (Sandbox Code Playgroud)

我查看了jQuery源代码,它使用了nodeValue一次,但是innerHTML和textContent几次.然后我发现这个jsperf测试表明firstChild.nodeValue明显更快.至少这就是我所说的意思.

如果firstChild.nodeValue快得多,那捕获的是什么?它没有得到广泛支持吗?还有其他问题吗?

javascript dom innerhtml nodevalue

119
推荐指数
4
解决办法
7万
查看次数

执行用.innerHTML插入的<script>元素

我有一个脚本,使用一些内容将一些内容插入元素innerHTML.

例如,内容可以是:

<script type="text/javascript">alert('test');</script>
<strong>test</strong>
Run Code Online (Sandbox Code Playgroud)

问题是<script>标签内的代码没有被执行.我用Google搜索了一下,但没有明显的解决方案.如果我使用jQuery插入内容$(element).append(content);,脚本部分eval会在注入DOM之前得到.

有没有人有一段执行所有<script>元素的代码?jQuery代码有点复杂,所以我无法弄清楚它是如何完成的.

编辑:

通过窥视jQuery代码,我已经设法弄清楚jQuery是如何做到的,这导致了以下代码:

Demo:
<div id="element"></div>

<script type="text/javascript">
  function insertAndExecute(id, text)
  {
    domelement = document.getElementById(id);
    domelement.innerHTML = text;
    var scripts = [];

    ret = domelement.childNodes;
    for ( var i = 0; ret[i]; i++ ) {
      if ( scripts && nodeName( ret[i], "script" ) && (!ret[i].type || ret[i].type.toLowerCase() === "text/javascript") ) {
            scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( ret[i] ) : ret[i] );
        }
    }

    for(script …
Run Code Online (Sandbox Code Playgroud)

javascript dom eval innerhtml

104
推荐指数
8
解决办法
14万
查看次数

是否可以在不破坏后代事件监听器的情况下附加到innerHTML?

在下面的示例代码中,我将onclick事件处理程序附加到包含文本"foo"的span.处理程序是一个匿名函数,弹出alert().

但是,如果我分配给父节点alert(),则此innerHTML事件处理程序将被销毁 - 单击"foo"将无法弹出警告框.

这可以解决吗?

<html>
 <head>
 <script type="text/javascript">

  function start () {
    myspan = document.getElementById("myspan");
    myspan.onclick = function() { alert ("hi"); };

    mydiv = document.getElementById("mydiv");
    mydiv.innerHTML += "bar";
  }

 </script>
 </head>

 <body onload="start()">
   <div id="mydiv" style="border: solid red 2px">
     <span id="myspan">foo</span>
   </div>
 </body>

</html>
Run Code Online (Sandbox Code Playgroud)

html javascript innerhtml dom-events

100
推荐指数
2
解决办法
26万
查看次数

如何获得DOMNode的innerHTML?

在PHP DOM实现中,您使用什么函数来获取给定DOMNode的innerHTML?有人能给出可靠的解决方案

当然,outerHTML也会这样做.

php dom innerhtml

92
推荐指数
5
解决办法
8万
查看次数

使用JavaScript更改标签文本

为什么以下不适合我?

<script>
    document.getElementById('lbltipAddedComment').innerHTML = 'Your tip has been submitted!';
</script>
<label id="lbltipAddedComment"></label>
Run Code Online (Sandbox Code Playgroud)

html javascript label innerhtml

81
推荐指数
6
解决办法
53万
查看次数

使用Javascript添加内联样式

我正在尝试将此代码添加到动态创建的div元素中

style = "width:330px;float:left;" 
Run Code Online (Sandbox Code Playgroud)

创建动态的代码div

var nFilter = document.createElement('div');
nFilter.className = 'well';
nFilter.innerHTML = '<label>' + sSearchStr + '</label>';
Run Code Online (Sandbox Code Playgroud)

我的想法是添加后的风格,< div class="well"但我不知道我是怎么做的.

javascript css innerhtml

79
推荐指数
7
解决办法
26万
查看次数

标签 统计

innerhtml ×10

javascript ×8

html ×5

dom ×4

angular ×1

css ×1

dom-events ×1

eval ×1

jquery ×1

label ×1

nodevalue ×1

php ×1