gpt4 book ai didi

javascript - jQuery 中的函数变量

转载 作者:行者123 更新时间:2023-11-27 23:31:40 27 4
gpt4 key购买 nike

这非常简单,但我需要能够切换表中的列显示。

这个想法是有一个函数,它将获取列的名称(所有行在同一列中具有相同的数据字段)并隐藏它,同时调整表格的宽度。

使用 Chrome 的检查器,我想出了一个简单的概念证明

$('[data-id="column"],[data-field="column"]').toggle()

运行上述代码后,我需要调整元素的宽度加/减 4 像素,以使表格正确适合 - 表格在列所在的右侧呈现一个白色框。这只是一个概念证明,实际宽度将存储在一个变量中,该变量将被操纵以允许隐藏多个列。

$(".oe_list_content").width($(window).width()+/-4)

我做了一个简单的函数来提出最初的想法,但是当我运行该函数时,它返回未定义并且不进行更改。我相当确定它可以,但是 jQuery 选择器不能接受函数变量吗?

function rowToggle(row){
// Verify the rows even exist in the DOM
if($('[data-id="'+row+'"]').length){
$('[data-id="'+row+'"]','[data-field="'+row+'"]').toggle();
if($('[data-id="'+row+'"]').is(':hidden')){
$(".table").width($(window).width()+4);
}else{
$(".table").width($(window).width()-4);
}
}
}

这看起来确实是一个可变问题,因为

var row = "column";
$('[data-id="'+ row +'"]').toggle();

实际上并没有切换该字段。我错过了什么吗?

最佳答案

这一行$('[data-id="'+row+'"]','[data-field="'+row+'"]').toggle();

应该是:$('[data-id="'+row+'"],[data-field="'+row+'"]').toggle();

这是一个单一的选择器字符串。不是像您那样用逗号分隔的两个字符串。

此问题的进一步引用: jQuery attribute selector for multiple values

关于javascript - jQuery 中的函数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com