0

所以我有这个点击事件:

$(".pickerOpt").click(function() { 
    $(this).child('span').show();
});

还有这个:

<ul id="hair" class="picker">
<span>Hair</span>
    <li id="a" class="pickerOpt"><span>.</span></li>
    <li id="b" class="pickerOpt"><span>.</span></li>
    <li id="c" class="pickerOpt"><span>.</span></li>
    <li id="d" class="pickerOpt"><span>.</span></li>
    <li id="e" class="pickerOpt"><span>.</span></li>
    <li id="f" class="pickerOpt"><span>.</span></li>
</ul>
<ul id="eye" class="picker">
    <span>Eyes</span>
    <li id="g" class="pickerOpt"><span>.</span></li>
    <li id="h" class="pickerOpt"><span>.</span></li>
    <li id="i" class="pickerOpt"><span>.</span></li>
    <li id="j" class="pickerOpt"><span>.</span></li>
</ul>

默认情况下,跨度是隐藏的,当我单击 li (现在是一个看起来像 swaure 的块元素)时,我希望它显示它,但它不起作用。我将点击事件设置为我拥有的 h2,当我通过 console.log("derp derp") 时它实际上工作了,但是每次我点击它时,它都会在控制台中触发 5 次。我刷新了页面,它不会再这样做了。

请帮忙,我要抽出这个网站。这是现场版本:http ://scoutsamerica.com/admin/addmodel.php

4

3 回答 3

1
$(".pickerOpt").unbind().click(function (e) {

//your content here 

}

与您单击的是绑定一次

于 2013-04-02T05:19:45.420 回答
0

jQuery中没有.child()方法,你想要的是.children()

于 2013-04-02T05:14:43.307 回答
0

尽管您的问题不清楚,AFAIU,请尝试使用 >= jQuery 1.7.on

$(document).on('click', '.pickerOpt' , function() { 
    $(this).children('span').show();
});

Working DEMO

于 2013-04-02T05:15:42.427 回答