开发者

tiny question about jquery's live()

开发者 https://www.devze.com 2023-01-14 13:08 出处:网络
How would I change the html of a tag like so: $(\'#someId\').html(\'<p>foo bar</p>\'); while using the live() or delegate() function? Just for clarification I don\'t want this to ha开

How would I change the html of a tag like so:

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

while using the live() or delegate() function? Just for clarification I don't want this to ha开发者_如何学Goppen on hover or focus or click... I just want jquery to immediately change the html inside of a certain tag.

Basically, I'm trying to change the logo in the Mojomotor's little dropdown panel and I don't want to change the logo every time I upgrade to a new version.

Any suggestions?


.live() and .delegate() don't work like this, what you're after is still done through the .livequery() plugin or simply in the document.ready if it's present on page load, like this:

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

Or with .livequery() if it's replaced dynamically in the page:

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

.live() and .delegate() work off of event bubbling...an element just appearing doesn't do this whereas a click or change, etc would.


Just do it when the DOM loads.

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

精彩评论

暂无评论...
验证码 换一张
取 消