jQuery高级选择器

时间:2009-05-17 08:59:47

标签: jquery dom jquery-selectors

我可以在jQuery选择器方法中使用比较语句吗? 例如,
我有一个由php生成的div列表,它们都使用相同的CSS类,但它们的值属性为1,2,3等。我还有一个带有id的文本输入字段。此字段只能接受数字。我想选择div(来自长列表),其值属性与放入文本输入框的值相匹配。
我可以写这样的东西:
$('$(“。someClass”)。val()== $(“input#someId”)。val()')

???

3 个答案:

答案 0 :(得分:7)

$('.someClass').filter(function() {
    return $(this).attr('value') == $('input#someId').val() ;
 })

答案 1 :(得分:6)

查看CSS3选择器页面:http://www.w3.org/TR/css3-selectors/

推荐选择器:E [foo =“bar”],如'.class [value =“'+ $('#inputId')。val()+'”]'。

注意:未经测试。

答案 2 :(得分:2)

它只是一个标准的jquery选择器:attributeEquals

<html>
<head>
    <title>Just a test</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(function() {
        $('#txtValue').change(function(){
            $('.selectMe').css('color', 'black');
            $('.selectMe[value= '+$(this).val()+']').css('color', 'red');
        });     
    });
    </script>
</head>
<body>
    <input type="text" id="txtValue" value=""/>
    <div class="selectMe" value="1">one</div>
    <div class="selectMe" value="2">two</div>
    <div class="selectMe" value="3">three</div>
</body>
</html>