0

这个 HTML:

<div class="editable" contentEditable="true">
    <span class="empty">change me</span>
</div>

这个jQuery:

$(".empty").click(function() {
            $(this).css("color","#000");
            $(this).html(" ");
        });

没有像我希望的那样工作(或根本没有)。我想这样做,当用户单击跨度中的“更改我”文本时,字体颜色变为黑色并且跨度中的现有文本消失。

4

3 回答 3

1

这是行不通的,因为跨度没有 height 属性,并且在清空它的内容后,它将具有 awidth of 0px和 a height of 0px。用 a 替换跨度<div>并在你的 CSS 中给它一个高度。这里的例子:http: //jsfiddle.net/JftGd/12/

于 2012-08-06T10:31:53.437 回答
0

我假设您的<head>html 中有您的代码。您需要将代码包装在 onLoad 中,以便代码在适当的时间执行。

$(function() {
    $(".empty").click(function() {
        $(this).css("color","#000");
        $(this).html(" ");
    });
});
于 2012-08-06T10:20:22.997 回答
0

加载页面后执行代码:

$(document).ready(function(ev){
   $(".empty").click(function() {
        $(this).css("color","#000");
        $(this).html(" ");
    });
});

http://jsfiddle.net/sF6G9/

于 2012-08-06T10:22:06.677 回答