jQuery从自定义属性获取多个数据

jQuery从自定义属性获取多个数据,jquery,attributes,Jquery,Attributes,我有一个select元素,我想从中获取一些自定义数据。我不知道这个语法是否正确,但是可以得到数据吗 <select data-select="placeholder:This is title; width:300px; dissabled; hidden;"></select> 如果属性的内部有冒号[:],左边的部分我想用它作为新属性,右边的部分作为该属性的值 分号[;]用于打断此新属性 逻辑类似于样式属性 我想要这份表格的代码: $("[data-selectl

我有一个select元素,我想从中获取一些自定义数据。我不知道这个语法是否正确,但是可以得到数据吗

<select data-select="placeholder:This is title; width:300px; dissabled; hidden;"></select>

如果属性的内部有冒号[:],左边的部分我想用它作为新属性,右边的部分作为该属性的值
分号[;]用于打断此新属性
逻辑类似于样式属性

我想要这份表格的代码:

$("[data-selectlist]").each(function(){
    var $ul = $("<ul/>", {
        'placeholder': $(this).attr('placeholder'),
        'width' : $(this).attr('width')
    });
    .
    .
    .
});
$(“[data selectlist]”)。每个(函数(){
变量$ul=$(“
    ”{ '占位符':$(this.attr('占位符'), 'width':$(this.attr('width')) }); . . . });
我可以用什么替换.attr()以获得所需的结果???

  • 访问每个
    $(“[数据选择]”)
    元素
    .attr(“数据选择”)
  • 迭代该值并创建一个对象,如
    {attr1:val,attr2:val}
  • 将创建的Attributes对象应用于相同(或某些)元素:
    $(this).attr(attrObj)
    $(“
      ,{attr:attrObj})
$(“[数据选择]”).attr(“数据选择”,函数(i,数据){
if(!data)return;//提前返回
//将数据值转换为对象属性
const attrObj=data.match(/(?!\s)[^;]+/g).reduce((acc,cur)=>{
常数p=当前拆分(“:”);
acc[p[0]=p[1]| | p[0];
返回acc;
}, {});
console.log(attrObj);
//将属性对象应用于元素
$(this.attr(attrObj)
});
Select现在已隐藏!检查元素以查看应用的属性
测试
您的“jQuery这样获取数据”与您的问题无关。尽量说得更具体些。显示实际获取一些数据的JS。描述你想要的输出。请阅读。我做了一些更改。现在好多了??现在看来肯定好多了!我只是很困惑,究竟为什么你会想要隐藏、禁用一个
元素。一个
元素不能被禁用并且具有
宽度属性:)它只是测试非冒号属性。我想创建一个具有完整功能xD的自定义选择选项