Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 怪异:jquery.show和.hide未响应或更改相应div的css_Javascript_Jquery - Fatal编程技术网

Javascript 怪异:jquery.show和.hide未响应或更改相应div的css

Javascript 怪异:jquery.show和.hide未响应或更改相应div的css,javascript,jquery,Javascript,Jquery,正如您在上面的示例中所看到的,在“免责声明问题111”旁边,有一个扩展/合同链接。该脚本起到了一半的作用,因为文本发生了更改,但它不会更改其锚定到的div的显示css 知道为什么吗?我没有看到任何页面错误 触发此操作的代码在我的site.js文件中,但我在这里将其取出,以便您可以看到: $('.accordion-trigger-settings').click(function(){ var target=$(this).attr('href'); if($(target).css('

正如您在上面的示例中所看到的,在“免责声明问题111”旁边,有一个扩展/合同链接。该脚本起到了一半的作用,因为文本发生了更改,但它不会更改其锚定到的div的显示css

知道为什么吗?我没有看到任何页面错误

触发此操作的代码在我的site.js文件中,但我在这里将其取出,以便您可以看到:

    $('.accordion-trigger-settings').click(function(){
var target=$(this).attr('href');
if($(target).css('display')=='none')
{
$(target).show();
$(this).text('Collapse Settings');
}
else
{
$(target).hide();
$(this).text('Expand Settings');
}
return false;
});
它适用于该区块:

<a href="#accordion-season5160" class="accordion-trigger-settings">Expand View</a>
                                <div class="padding5"></div> 
                                <div class="accordionContent" id="accordion-season5160">
                                    <textarea  name="str_disclaimer_header5160" id="str_disclaimer_header5160"></textarea>
                                </div>      

使用Chrome web inspector,我看到您有两个id为
accordion-season5160
的元素。因此,文本正在更改,因为它应用于
this
,但是
show()
方法正在修改(显示/隐藏)id为
accordion-season5160
的第一个元素

确保id是唯一的

看到图像了吗


希望有帮助

使用Chrome web inspector,我看到您有两个id为
accordion-season5160
的元素。因此,文本正在更改,因为它应用于
this
,但是
show()
方法正在修改(显示/隐藏)id为
accordion-season5160
的第一个元素

确保id是唯一的

看到图像了吗


希望有帮助

实际上,页面上有两个
。其中一个是隐藏的(在隐藏的
内)。 您可以使用console找到它们:

document.querySelectorAll('#accordion-season5160')
你会看到他们两个。要查看元素,可以在控制台中右键单击它,然后单击“在元素面板中显示”(在Chrome中)

解决此问题的最佳方法是使
id
s唯一。但是,您可以尝试一种快速方法来解决不需要
id
s唯一性的问题:

替换

var target=$(this).attr('href');


JS Bin

实际上,页面上有两个
。其中一个是隐藏的(在隐藏的
内)。 您可以使用console找到它们:

document.querySelectorAll('#accordion-season5160')
你会看到他们两个。要查看元素,可以在控制台中右键单击它,然后单击“在元素面板中显示”(在Chrome中)

解决此问题的最佳方法是使
id
s唯一。但是,您可以尝试一种快速方法来解决不需要
id
s唯一性的问题:

替换

var target=$(this).attr('href');


JS Bin

您提供的页面上包含代码片段的脚本的名称是什么?你确定它已加载吗?代码在site.js中运行良好。我知道!我也无法解释!脚本在另一页上运行良好。这个页面的某些内容导致它崩溃,我不知道为什么。您提供的页面上包含代码片段的脚本的名称是什么?你确定它已加载吗?代码在site.js中运行良好。我知道!我也无法解释!脚本在另一页上运行良好。这个页面的某些内容导致它崩溃,我不知道为什么。如果你查看源代码,你会看到只有一个元素的ID为accordion-season5160。一个是指向#accordion-sequence5160的链接,另一个是accordion-sequence5160的ID。请参见图片:两个ID和两个链接。Firbug显示了相同的内容:两个ID为accordion-sequence5160的div。这就是为什么使用调试器很有帮助:您可以快速检查
$(target)
之类的值,以查看它们包含多少元素。我还看到了两个。看起来另一个在某个隐藏的选项卡视图中。如果查看源代码,您将看到只有一个ID为accordion-5160的元素。一个是指向#accordion-sequence5160的链接,另一个是accordion-sequence5160的ID。请参见图片:两个ID和两个链接。Firbug显示了相同的内容:两个ID为accordion-sequence5160的div。这就是为什么使用调试器很有帮助:您可以快速检查
$(target)
之类的值,以查看它们包含多少元素。我还看到了两个。看起来另一个在某个隐藏的选项卡视图中。