根据输入值设置id类

时间:2011-07-04 14:52:44

标签: jquery jquery-selectors input

$(function(){

    if ($('#videoId').val){

    var thisid = $('#videoId').val; 
    $("#videolist li[id$='vid-"+thisid+"]").addClass('selected');
    }
});

<ul id="videolist">
    <li id="vid-28">Option</li>
    <li id="vid-29">Another Option</li>
    <li id="vid-30">Third Option</li>
</ul>

http://jsfiddle.net/Qdzn2/5/

我希望带有与输入值匹配的id的li被赋予“selected”类。

代码现在被注释掉了,因为它导致无限循环,但是当我跟踪我的thisid变量时,它获得了一个非常长的值,看起来像jquery代码..我有'价值'在其他地方工作,所以我不知道是什么造成的。

3 个答案:

答案 0 :(得分:3)

你也只需要这个:

$(function(){
    $("#vid-" + $('#videoId').val()).addClass('selected');
});

答案 1 :(得分:2)

您应该致电val(),而不是val。省略括号时,实际上是指函数而不是调用它。做警告的是val函数的来源。 :)

[编辑]

此外,您错过了vid-选择器中属性值周围的结束单引号。找到更新小提琴here

答案 2 :(得分:0)

您可以这样做:

$(function(){

if ($('#videoId').val()){

var thisId = $('#videoId').val();

$("#vid-"+thisId+"").addClass('selected');
}
});

小提琴:http://jsfiddle.net/Qdzn2/16/