我有一个 while 循环,它创建一个 anchor 标记列表,每个 anchor 标记都有一个唯一的类名,从 1 到有多少个项目。我想在单击特定 anchor 标记和类时更改 css attriubute,所以可以说背景颜色已更改。这是我的代码
while($row = mysql_fetch_array($results)){
$title = $row['title'];
$i++;
echo "<a class='$i'>$title</a>
}
我希望我的 jquery 看起来像这样,它显然会比这更复杂,我只是不知道从哪里开始。
$(document).ready(function() {
$('a .1 .2 .3 .4 and so on').click(function() {
$('a ./*whichever class was clicked*/').css('background':'red');
});
});
最佳答案
你能给这个类起一个更一致的名字吗?如myClass_1
、myClass_2
等
然后你可以这样做:
$(document).ready(function() {
$('a[class^=myClass_]').click(function() { // Assign handler to elements with a
// class that starts with 'myClass_'
$(this).css('background','red'); // Change background of clicked one.
});
});
这里,“开头为”选择器用于将事件分配给以 myClass
开头的所有类。
如果需要,您仍然可以检索索引号。
在事件处理程序中,$(this)
指的是被点击的对象。
实例: http://jsfiddle.net/Jurv3/
“开头为”选择器的文档: http://api.jquery.com/attribute-starts-with-selector/
编辑:我在选择器中缺少一个 ]
。现已修复。
关于php - 带有 php while 循环的 Jquery 动态选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985932/