每次在div上使用.append()和click()

时间:2012-03-22 13:30:39

标签: jquery

每次点击它时,我都会尝试更改div中的文字。我尝试了以下方法,但它不起作用:

<script>
    $(document).ready(function() {
        //alert('hi');
        $('div').css('cursor','pointer')
        $('div').append('hi')

        $('div').click(function() {
            if ($(this).html('hi') {
                $(this).html('how r u');
            }
            if ($(this).html('how r u')) {
                $(this).html('hi');
            }
        )

        //$(this).html('how r u');
    })
})
</script>

任何人都可以帮助我吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

而不是:

if ($(this).html('hi'))

尝试:

if($(this).html()==='hi')

完整代码(您还忘记了第二个“if”的“else”):

$(document).ready(function() {
    $('div').css('cursor', 'pointer');
    $('div').append('hi');

    $('div').click(function() {
        if ($(this).html() === 'hi') {
            $(this).html('how r u');
        } else if ($(this).html() === 'how r u') {
            $(this).html('hi');
        };
    });
});​

http://jsfiddle.net/HKWdT/

答案 1 :(得分:0)

您仍需要比较.html()方法的返回值:

if ($(this).html() === 'hi'){
   $(this).html('how r u');
} else if ($(this).html() === 'how r u'){
   $(this).html('hi');
}

答案 2 :(得分:0)

<script>
$(document).ready(function(){
    $('div').css('cursor','pointer')
    $('div').append('hi')
    $('div').click(function(){
        if($(this).html() == 'hi')
        {
            $(this).html('how r u');
        }
        else if($(this).html() == 'how r u')
        {
            $(this).html('hi');
        )
    });
});
</script>

这也可以:

<div>hi</div>
<div style="display: none">how r you</p>
<script>
$("div").click(function () {
    $("div").toggle();
});
</script>