我可以在 jQuery 选择器方法中使用比较语句吗?
例如。
我有一个由 php 生成的 div 列表,它们都使用相同的 CSS 类,但具有 1、2、3 等值属性。我还有一个带有 id 的文本输入字段。此字段只能接受数字。我想选择具有与放入文本输入框中的值相匹配的值属性的 div(从长列表中)。
我可以这样写吗:
$( '$(".someClass").val() == $("input#someId").val()' )
???
我可以在 jQuery 选择器方法中使用比较语句吗?
例如。
我有一个由 php 生成的 div 列表,它们都使用相同的 CSS 类,但具有 1、2、3 等值属性。我还有一个带有 id 的文本输入字段。此字段只能接受数字。我想选择具有与放入文本输入框中的值相匹配的值属性的 div(从长列表中)。
我可以这样写吗:
$( '$(".someClass").val() == $("input#someId").val()' )
???
$('.someClass').filter(function() {
return $(this).attr('value') == $('input#someId').val() ;
})
查看 CSS3 选择器页面:http ://www.w3.org/TR/css3-selectors/ 。
推荐选择器:E[foo="bar"],如 '.class[value="'+$('#inputId').val()+'"]'。
注意:未测试。
它只是一个标准的 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>