Javascript ID触发器在innerHTML中不工作

Javascript ID触发器在innerHTML中不工作,javascript,css,Javascript,Css,我有一个div ID,可以触发一些javascript。它在innerHTML之外工作得很好,但是当我尝试只在单击div ID时触发它(在innerHTML中),它不会触发 守则: <script type="text/javascript"> function ChangeStyle() { document.getElementById("p1").innerHTML = "<div id='12345' class='button next'

我有一个div ID,可以触发一些javascript。它在innerHTML之外工作得很好,但是当我尝试只在单击div ID时触发它(在innerHTML中),它不会触发

守则:

<script type="text/javascript">

function ChangeStyle()
{
    document.getElementById("p1").innerHTML = 
        "<div id='12345' class='button next' class='move next'><a href=\"javascript:void()\">CONFIRM </a></div>";
}

</script>
<span id="p1">
<div class="button"><a href="javascript:void()"     onclick="ChangeStyle();alert('hello');">CONFIRM  </a></div></a>
</span>

函数ChangeStyle()
{
document.getElementById(“p1”).innerHTML=
"";
}

如果您只想添加一个类,那么您可以使用

$('div .button).addClass('next');

如果您只想添加一个类,那么您可以使用

$('div .button).addClass('next');

添加
属性两次,一个值将始终覆盖另一个值。将它们合并到一个属性中,您的代码将正常工作:

但是,如果您只想更改类,那么可以设置元素的
className
属性

div.className = 'button next move';

添加
属性两次,一个值将始终覆盖另一个值。将它们合并到一个属性中,您的代码将正常工作:

但是,如果您只想更改类,那么可以设置元素的
className
属性

div.className = 'button next move';

javascript:void()
更改为
javascript:void(0)


上面的
class
参数也正确。

javascript:void()
更改为
javascript:void(0)


上面的
参数也正确。

这不是一个jQuery问题。这不是一个jQuery问题。上面的代码在JSFIDLE上对我有效。(是的,我已经删除了
javascript:void()
并添加了
return:false
,但那只是因为这是一个坏习惯)。@HenrikAmmer从什么时候开始是
javascript:void()
坏习惯@ianpgall,这个问题是2008年的。。。阅读并阅读《为什么您的
作为其
内部HTML
》的最后一行
是一个内联元素,
是一个块级元素。我改为,但我的id仍然不会触发javascript。上面的代码在JSFIDLE上对我有效。(是的,我已经删除了
javascript:void()
并添加了
return:false
,但那只是因为这是一个坏习惯)。@HenrikAmmer从什么时候开始是
javascript:void()
坏习惯@ianpgall,这个问题是2008年的。。。阅读并阅读《为什么您的
作为其
内部HTML
》的最后一行
是一个内联元素,
是一个块级元素。我更改为,但我的id仍然不会触发javascript。我的类不是问题,不触发它的是我的“id”。如果复制innerHTML中的相同html,并将其放在innerHTML代码之外,然后按正常方式发布,则会触发javascript。但是在innerHTML内部它不会触发。我的类不是问题,不触发它是我的“id”。如果复制innerHTML中的相同html,并将其放在innerHTML代码之外,然后按正常方式发布,则会触发javascript。但在innerHTML内部,它不会触发。