1

我的 php 代码是这样的-

for($i=1;$i<=$n;$i++)
{
$id='selectThisID-' . $i;
?>
<div id="<?php echo $id;?>">On Select this Div(say #selectThisID-3)<?php echo $field-n; ?></div>

<?php $id= 'paraID-' . $i;
<p id="<?php echo $id; ?>" style="display:none">Toggle this para(say #paraID-3) for selected ID only</p>
}

现在如何在我的 jQuery 中处理这个可变数量的 id。据我所知,对于单个 div 语句,它可能是:

    <script>
        $(document).ready(function(){
            $("[id^=selectThisID-]").click(function(){
                $("[id^=paraID-]").toggle();
            });
        });
</script>

所以在选择带有 id 的元素时'#selectThisID-1'<p>将切换。如何#selectThisID-2, #selectThisID-3....#selectThisID-n用作 jQuery 选择器。如何从 php 代码获取 'n' 的值到 jQuery?请帮忙。

提前致谢。

编辑:

假设$n=5,所以总共有 5 个div元素。现在的问题是,当我选择任何一个div(比如说#selectThisID-3)时,所有<p>元素都会被切换(即

#paraID-1, #paraID-2....#paraID-5全部切换)。但是,我需要在选择 div-3 时切换 para-3,在选择 div-4 时切换 para-4,依此类推。请帮忙。

4

4 回答 4

4
$("[id^=selectThisID-]").click(function(){
    $("#paraID-"+this.id.split('-')[1]).toggle();
});
于 2013-03-11T22:29:09.200 回答
1

而不是 ID 使用类。这比你在那里的效率更高。例如:

$(".your-class").each(function(index, domEl){
              $(this).val();
              $(this).toggle();
        });
于 2013-03-11T22:31:00.877 回答
0

在元素和index()方法上使用类来匹配它们而不涉及 ID:

var $divGroup=$('.divClass').click(function(){
    var index=$divGroup.index(this);
    $('.paragraphClass').hide().eq( index).show();
})

演示:http: //jsfiddle.net/UZqD3/

于 2013-03-12T01:13:03.367 回答
0

不要使用 id,而是使用一个类并将对应的对象p id放入自定义属性中:

$(".selectThisID").click(function(){
    $("paraID-" + this.getAttribute("data-target")).toggle();
});

HTML:

<div class="selectThisID" data-target="5">foo</div>
<p id="paraID-5">bar</p>
于 2013-03-12T01:58:23.097 回答