我试图在加载页面时隐藏一些元素。
目前我正在使用'page:change'
,因为我正在使用Turbolinks在Ruby on Rails中工作。
如果div包含具有特定值的select标记,我想隐藏一些元素 该页面可以包含多个选择标记,因此我无法使用ID。
此处的代码不起作用:
$(document).on('page:change', function(){
if ($('.q_type_select').val() == 'text' || $('.q_type_select').val() == 'area') {
$(this).closest('.question_fieldset').children('.choice_fieldset').hide();
$(this).closest('.question_fieldset').children('.add_fields').hide();
};
};
我想$(this)
仅在您点击?
如果我这样做:
$(document).on('page:change', function(){
if ($('.q_type_select').val() == 'text' || $('.q_type_select').val() == 'area') {
$('.question_fieldset').children('.choice_fieldset').hide();
$('.question_fieldset').children('.add_fields').hide();
};
};
我得到了隐藏该类的所有元素,而不是我想要的那些。
有什么建议吗?
答案 0 :(得分:1)
假设你拥有的东西是正确的(因为没有HTML可供查看)。 试试这个
$(function(){
$('.q_type_select').each(function(){
var $this = $(this);
if ($this.val() == 'text' || $this.val() == 'area') {
$this.closest('.question_fieldset').children('.choice_fieldset').hide();
$this.closest('.question_fieldset').children('.add_fields').hide();
};
})
});
循环遍历文档就绪函数页面中的所有元素(.q_type_select
)并隐藏()它