jquery单击事件以交换第一次单击时未触发的文本但后续工作

时间:2014-07-30 20:04:13

标签: javascript jquery html css click

我是javascript和jquery的新手,我有一些代码可以将另一个文本换成另一个完全之外的第一次点击div。< / p>

有什么想法吗?我可能只是错误地说错了但不确定如何继续

这是一个小提琴:http://jsfiddle.net/pauljackson/4r8v6/

JS:

$(document).ready(function() {
    $("#showemail").click(function() {
        var $self = $(this);
        if ($self.text() == "Contact")
        $self.text("someguy@theinternet.com");
        else
        $self.text("Contact");
    });
});

HTML:

<div id="showemail">
Contact
</div>

的CSS:

#showemail:hover {
cursor:pointer;
}

谢谢!

2 个答案:

答案 0 :(得分:3)

您的文字最初有一些空格,trim它:

if ($self.text().trim() == "Contact")

第二次点击的原因是因为您的else条件会将text设置为&#34;联系人&#34;没有空格 - 那么下次你点击你的条件评估为true并且一切都很好

小提琴:http://jsfiddle.net/4r8v6/3/

答案 1 :(得分:1)

继续更新。注意修剪。似乎#showemail div中还有一些需要修剪的附加文本。

$(document).ready(function() {
    $("#showemail").click(function() {

        var $self = $(this);
        console.log($self.text());
        if ($self.text().trim() == "Contact") {
        $self.text("someguy@theinternet.com");
        }
        else {
        $self.text("Contact");
        }
    });
});