Javascript 循环所有可用的css属性以获取计数?
我有一个数据库结果列表,每个结果都带有css属性,用于过滤。有些可能有很多标签,有些可能很少Javascript 循环所有可用的css属性以获取计数?,javascript,php,jquery,Javascript,Php,Jquery,我有一个数据库结果列表,每个结果都带有css属性,用于过滤。有些可能有很多标签,有些可能很少 <ul class="results"> <li class="filterThis property propertysome property other propertyetc> <!— item info —> </li> <!— next item —> </
<ul class="results">
<li class="filterThis property propertysome property other propertyetc>
<!— item info —>
</li>
<!— next item —>
</ul>
这将更新过滤器列表中的编号,这些过滤器在加载结果后加载
$(".whenReady label span.property”).html(numProperty);
我如何扩展它来循环所有可用的css属性,如上所述计算它们,并如上所述更新html
Each()似乎是一条路要走,但我似乎无法获得正确的结构或命名来生成结果,或者始终携带名称以便分配html更新
所有可能的属性都可以作为php结果使用,因此可能是jQuery的json对象(或其他什么?),但我不知道如何采取下一步并获得所需的功能
非常感谢您的帮助。您不能在后端解决此问题吗?例如,跟踪可用的过滤器:
<?php
$results = .... ;
$filters = array();
foreach($result in $results){
// assuming each result has an array of filters
$filters = array_merge($filters, $result['filter']);
}
$filters = array_unique($filters);
$csFilters = implode(',',$filters);
?>
也许试试这个:谢谢@Sébastien的建议——也许我就是不明白。这似乎需要通过手工编码的名称对每一个进行迭代,以执行任何操作(计数、更新html)。我已经更新了我的问题,使之更加准确。Nice@meavo,我没有想过这样做。我熟悉as,但不熟悉in?将其更改为“as”会使页面呈现,但会为foreach创建无效的参数警告。我怎么了?foreach($result in$results)应该可以正常工作。要进行调试,您可以在foreach循环中添加一个print\r($filters)。检查数组是否按预期填充。也许你可以找出哪里出了问题。检查你的错误报告是否在()。如果没有,您将看到一个白色屏幕,而不是一个逻辑错误:)我不确定这是否会被某种php.ini设置覆盖。简单的测试就是在PHP中犯一个明显的错误;然后你会看到错误消息吗?是@meavo,但对于某些人,它会生成一个白色页面。切换到调试工具,我本来应该在那里(谢谢:)。抛出的错误是“Parse error:syntax error,unexpected T_STRING”,我查找了它并试图解决它,但运气不好。有什么想法吗?
<?php
$results = .... ;
$filters = array();
foreach($result in $results){
// assuming each result has an array of filters
$filters = array_merge($filters, $result['filter']);
}
$filters = array_unique($filters);
$csFilters = implode(',',$filters);
?>
<ul class="results" data-filters="a,b,c,d">
$('.results').data('filters').split(',');