为什么这个JQUERY选择器的varibale和空格不起作用?

时间:2015-06-28 09:58:14

标签: jquery css selector

 $(".lookup "+id).css("background-color","green");

我想在找到匹配项时将“lookup 123456”的背景更改为绿色。我把它写到控制台:console.log(“。lookup”+ id)它工作正常。但它没有被选择器选中。

任何帮助?

4 个答案:

答案 0 :(得分:2)

使用以下代码:

$("[class='lookup "+id+"']").css();

答案 1 :(得分:2)

我不清楚你在寻找什么。

如果您想选择class="lookup 123456"的元素,则应使用.而不是space。例如:

$('.lookup.' + id);

如果您想选择class="lookup" id="123456"的元素,那么您应该使用#而不是空格。例如:

$('.lookup#' + id);

你当前的选择器意味着选择这样的东西。

<div class="lookup">
  <123456></123456>
</div>

答案 2 :(得分:1)

我正在考虑变量id持有元素的id。

假设id =“something”

然后如果你使用你的代码

def shifting(text, n=10):
    ints = (ord(c) for c in text)
    def helper():
        for c in ints:
            if c==32:
                yield " "
            elif c+n > 126:
                yield chr(c+n-94)
            else:
                yield chr(c+n)
    return "".join(helper())

enc_text = shifting(file.readline(),10)

等于

 $(".lookup "+id).css("background-color","green");

其中某些东西不是元素 应该有#来按ID选择。 所以试试这个代码

 $(".lookup something").css("background-color","green");

这将是

 $(".lookup #"+id).css("background-color","green");

答案 3 :(得分:0)

选择器不能以数字开头。

http://www.w3.org/TR/CSS21/syndata.html#characters

  

在CSS中,标识符(包括   元素名称,类和ID   选择器)只能包含   字符[a-z0-9]和ISO 10646   字符U + 00A1和更高,加上   连字符( - )和下划线(_);   他们不能以数字或者数字开头   连字符后跟一个数字。   标识符也可以包含转义   字符和任何ISO 10646字符   作为数字代码(见下一项)。对于   例如,标识符&#34; B&amp; W?&#34;也许   写作&#34; B \&amp; W \?&#34;或&#34; B \ 26 W \ 3F&#34;。

Which characters are valid in CSS class names/selectors?