Coldfusion JQuery-选择器问题(兄弟姐妹、父母…)

Coldfusion JQuery-选择器问题(兄弟姐妹、父母…),coldfusion,jquery-selectors,siblings,parents,Coldfusion,Jquery Selectors,Siblings,Parents,我得到了一个coldfusion查询,结果按国家名称分组。点击这个,我尝试打开或关闭国家/地区下的列表。但是我不能正确地与这个兄弟姐妹和这个父母一起工作。结果是,如果我点击一个国家的名字,比如第四个,它会关闭所有的孩子,还有前面的三个国家的名字。 有人能帮我选择正确的选择器吗? 提前谢谢大家,, 米歇尔 守则: <script type="text/javascript" language="javascript"> $(document).ready(function(

我得到了一个coldfusion查询,结果按国家名称分组。点击这个,我尝试打开或关闭国家/地区下的列表。但是我不能正确地与这个兄弟姐妹和这个父母一起工作。结果是,如果我点击一个国家的名字,比如第四个,它会关闭所有的孩子,还有前面的三个国家的名字。 有人能帮我选择正确的选择器吗? 提前谢谢大家,, 米歇尔

守则:

<script type="text/javascript" language="javascript">  
    $(document).ready(function(){
        var toggleMinus = '<cfoutput>#variables.strWebAddress#</cfoutput>/images/bullet_toggle_minus.png';
        var togglePlus = '<cfoutput>#variables.strWebAddress#</cfoutput>/images/bullet_toggle_plus.png';
        var $subHead = $('table#categorylist tbody th:first-child');
        $subHead.prepend('<img src="' +toggleMinus+ '" alt="collapse this section" />&nbsp;');
        $('img', $subHead).addClass('clickable').click(function(){
            var toggleSrc = $(this).attr('src');
            if(toggleSrc == toggleMinus){
               $(this).attr('src',togglePlus).parents('.country').siblings().fadeOut('fast');
            }else{
              $(this).attr('src',toggleMinus).parents('.country').siblings().fadeIn('fast');
            }
        });
     }); 
</script>

<table width="95%" border="0" cellspacing="2" cellpadding="2" align="center id="categorylist"> 
<thead>
    <tr>
        <th class="text3" width="15%">
            <cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_CODENUMBER">
        </th>
        <th class="text3" width="15%">
            <cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_CODE">
        </th>
        <th class="text3" width="55%">
            <cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTOR_NAME">
        </th>
        <th class="text3" width="15%">
            <cfmodule template="../custom_tags/get_message.cfm" keyName="L_ACTIVE">
        </th>
    </tr>
</thead>
<tbody id="content">
<cfoutput query="qryCategoryUrl" group="country_name" groupcasesensitive="false">
    <tr class="country">
        <th style="font-weight:bold; text-align:left;" colspan="4">#country_name#</th>
    </tr>
<cfoutput>
    <tr>
        <td valign="top" class="text3">#Replace(ACTOR_CODENUMBER, Chr(13) & Chr(10), "<br>", "ALL")#&nbsp;</td>
        <td valign="top" class="text3">#Replace(ACTOR_CODE, Chr(13) & Chr(10), "<br>", "ALL")#&nbsp;</td>
        <td valign="top" class="text3">#Replace(ACTOR_NAME, Chr(13) & Chr(10), "<br>", "ALL")#&nbsp;</td>
        <td valign="top" class="text3"><cfmodule template="../custom_tags//get_message.cfm" keyName="#ACTIVE_display(qryCategoryUrl.ACTIVE)#"></td>
    </tr>
</cfoutput>
</cfoutput>
</tbody>
</table>

$(文档).ready(函数(){
var toggle减号='#variables.strWebAddress#/images/bullet_toggle_减号.png';
var togglePlus='#variables.strWebAddress#/images/bullet_toggle_plus.png';
变量$subHead=$('table#categorylist tbody th:first child');
$分目.前置('');
$('img',$副标题)。添加类('clickable')。单击(函数(){
var toggleSrc=$(this.attr('src');
if(toggleSrc==toggle减号){
$(this.attr('src',togglePlus.).parents('.country').sides().fadeOut('fast');
}否则{
$(this.attr('src',toggle减号).parents('.country').sides().fadeIn('fast');
}
});
}); 
而不是:

.parents('.country').siblings().fadeOut('fast');
试试这个:

.closest('.country').nextUntil('.country').fadeOut('fast');
当然,对
.fadeIn()
应用相同的更改。你也可以调查一下

下面是一个(简化的)示例:。虽然这不会影响示例,但您可能会将这些细节行的初始状态设置为隐藏。

而不是:

.parents('.country').siblings().fadeOut('fast');
试试这个:

.closest('.country').nextUntil('.country').fadeOut('fast');
当然,对
.fadeIn()
应用相同的更改。你也可以调查一下


下面是一个(简化的)示例:。虽然这不会影响示例,但您可能会将这些详细信息行的初始状态设置为隐藏。

woah所有cfmodule的使用情况,cfmodule可能会占用内存

尽管我一直建议人们在任何浏览器中尝试他们的页面,并在


这使得测试和检查正确的选择器更加容易,以满足您的应用程序需要。

哇哦,尽管cfmodule使用频繁,cfmodule可能会占用内存

尽管我一直建议人们在任何浏览器中尝试他们的页面,并在


这使得测试和检查正确的选择器更加容易,以满足您的应用程序需求。

这有点难以复制,因为您有集成的模板和服务器端代码。您能用生成的HTML更新代码示例吗?这样就可以复制您的情况。这有点难以复制,因为您有集成的模板和服务器端代码。您能用生成的HTML更新代码示例吗?这样你的情况可以被复制。谢谢你,肯,这是解决办法。只有一个小问题,我有第一次点击两次就行切换它。你知道为什么吗?我尝试了fadeToggle,但“两次单击”问题消失了。非常感谢你的帮助,也感谢Brian。谢谢你,Ken,这是解决方案。只有一个小问题,我有第一次点击两次就行切换它。你知道为什么吗?我试过fadeToggle,但“两次点击”的问题消失了。非常感谢你的帮助,也感谢Brian。