js点击添加颜色

时间:2014-09-22 14:28:48

标签: javascript html css

我有一个问题。所以基本上我试图创建一个js脚本,当用户点击链接时,它会以不同颜色为链接着色,然后将链接添加到输入框,当用户再次点击同一链接时,将颜色更改回原始颜色并从输入框中删除文本。目的是作为搜索过滤器,您可以在其中添加搜索框,预定义的keywoards。

$('.tagsSelect a').click(function() {
    var clickColor = this.style.color;

    if(clickColor = "#F5EBD5"){
        var value = $(this).text();
        var input = $('#popGirlMenu');
        input.val(input.val() + value + ', ');
        this.style.color="#f5d47f";
        return false;
    }
    if(clickColor = "#f5d47f") {
        var value = $(this).text();
        var input = $('#popGirlMenu');
        input.val(input.val() - value - ', ');
        this.style.color="#F5EBD5";
        return false;
    }
});

这是我的代码,它可以正常工作,在用户再次点击链接时下注,它不会将颜色更改回原始颜色,也不会从输入框中删除文本。

抱歉我的英文不好

2 个答案:

答案 0 :(得分:4)

使用CSS作为布局,并检查类而不是颜色值:

<强> CSS

a { color: blue; }
a.selected { color: red; }

<强> HTML

<a href="#">link a</a>
<a href="#">link b</a>
<input id="txt" type="text" />

<强>的JavaScript

$("a").click(function() {
    var $this = $(this);
    $this.toggleClass("selected");
    if ($this.hasClass("selected"))
        $("#txt").val($("#txt").val() + $this.text() + ", ");
    else
        $("#txt").val($("#txt").val().replace($this.text() + ", ", ""));
});

请参阅此jsFiddle

请注意,要从字符串中删除部件,您需要用空字符串替换该部件。 -不适用于字符串。

答案 1 :(得分:2)

使用=====(比较)代替=(设置变量)