如何通过jQuery更改文本?

Wil*_*ran 3 html javascript css jquery

我试图根据状态更改"显示更多"文本.这不起作用:

        <div id="description">
        text goes here
            </div>
            <div id="more-less-container">
                <a href="#" id="more-less">expand / collapse</a>
            </div>  
            <script>
            var open = false;
            $('#more-less').click(function() {
                if (open) {
                    $('#description').animate({height:'10em'}); 
                    $('#more-less').innerHTML ='show less';             
                }
                else {
                    $('#description').animate({height:'100%'});
                            $('#more-less').innerHTML ='show more'; 
                }
                open = !open;
            });
            </script>
Run Code Online (Sandbox Code Playgroud)

Sel*_*aek 5

使用$('#more-less').text('show more');而不是innerHTML.

jQuery将DOM Elements包装到jQuery对象中,如果你想使用该innerHTML属性,你可以使用该.html()函数 - 但.text()更好,因为它将html转义内容.

真正访问innerHTML属性的另一种方法是将DOM元素从jQuery对象中取出,如下所示:$('#more-less')[0].innerHTML = 'show more';.