2010-08-31 39 views
2

我将如何改变标签的HTML像这样:关于jQuery的活细小的问题()

$('#someId').html('<p>foo bar</p>');

在使用实时()或委托()函数?只是为了澄清,我不希望这发生在悬停或焦点或点击...我只是想让jquery立即更改某个标记内的html。

基本上,我试图改变Mojomotor的小下拉面板中的标志,我不想每次升级到新版本时都更改标志。

有什么建议吗?

+1

所以,当你想要改变标志?为什么你需要生活或委托,如果它不发生在某些事件。 – Anurag 2010-08-31 16:08:14

+0

我不知道...但试图改变它在文档准备不起作用,所以我想我可能不得不使用生活或类似的东西。 – Johnny 2010-08-31 16:39:39

回答

4

.live().delegate()不工作就是这样,什么你之后仍然通过the .livequery() plugindocument.ready做,如果它出现在页面加载,这样的:

$(function() { 
    $('#someId').html('<p>foo bar</p>'); 
}); 

或用.livequery()如果它动态地更换页面:

$('#someId').livequery(function() { 
    $(this).html('<p>foo bar</p>'); 
}); 

.live().delegate()工作关闭事件冒泡......一个元素只是出现不这样做而0123的或change等。

+0

谢谢。我试图在没有结果的文档上做这件事,所以我会尝试你建议的livequery插件。 – Johnny 2010-08-31 16:40:35

1

只需在DOM加载时执行此操作。

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#someId').html('<p>foo bar</p>'); 
    }); 
</script> 
+0

我试过了,它没有工作。 – Johnny 2010-08-31 16:41:11

+0

确保你已经包含jquery库,并确保在脚本标记之间放置ready函数。同时发布#someId的HTML,我们可能会看到原因。 – 2010-08-31 16:55:37