Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 如何使用此选项正确选择div?_Javascript_Jquery_This - Fatal编程技术网

Javascript 如何使用此选项正确选择div?

Javascript 如何使用此选项正确选择div?,javascript,jquery,this,Javascript,Jquery,This,我有一个产品列表,每个产品都显示在一个分区中,如下所示: <div data-productSheetId="n" class="productSheet"></div> 我很确定我做错了,我怎样才能正确地选择它呢 var x = 5; var productSheet = $('div[data-productSheetId =' + x + ']'); 这将是一个好办法。选择时只需更改变量x 这将是一个好办法。选择时只需更改变量x。您可以使用.filter方法:

我有一个产品列表,每个产品都显示在一个分区中,如下所示:

<div data-productSheetId="n" class="productSheet"></div>
我很确定我做错了,我怎样才能正确地选择它呢

var x = 5;

var productSheet = $('div[data-productSheetId =' + x + ']');
这将是一个好办法。选择时只需更改变量x

这将是一个好办法。选择时只需更改变量x。

您可以使用.filter方法:

更新:

感谢@mplungjan。数据属性应全部为小写。现在,当属性具有连字符时,可以使用驼峰大小写等效项来读取数据:

//<div data-productsheetid="n" class="productSheet"></div>
//use:
.data('productsheetid')

//<div data-product-sheet-id="n" class="productSheet"></div>
//use either:
.data('product-sheet-id')
//or:
.data('productSheetId')
您可以使用.filter方法:

更新:

感谢@mplungjan。数据属性应全部为小写。现在,当属性具有连字符时,可以使用驼峰大小写等效项来读取数据:

//<div data-productsheetid="n" class="productSheet"></div>
//use:
.data('productsheetid')

//<div data-product-sheet-id="n" class="productSheet"></div>
//use either:
.data('product-sheet-id')
//or:
.data('productSheetId')
你可能是有意的

具有全小写属性 使用“数据”属性按其id选择productsheet 像这样

<div id="xxx" class="productSheet"></div>
<div id="yyy" class="productSheet"></div>
<div id="zzz" class="productSheet"></div>

<button class="btn" type="button" data-productsheetid="xxx">Select XXX</button>

$(function() {
  $(".btn").on("click",function() { 
    // get the id to access from the button's data attribute
    var id = $(this).data("productsheetid"); // for readability
    var productSheet = $("#"+id);
  });  
});
你可能是有意的

具有全小写属性 使用“数据”属性按其id选择productsheet 像这样

<div id="xxx" class="productSheet"></div>
<div id="yyy" class="productSheet"></div>
<div id="zzz" class="productSheet"></div>

<button class="btn" type="button" data-productsheetid="xxx">Select XXX</button>

$(function() {
  $(".btn").on("click",function() { 
    // get the id to access from the button's data attribute
    var id = $(this).data("productsheetid"); // for readability
    var productSheet = $("#"+id);
  });  
});

只需将密钥小写:

productSheet = $('[data-productSheetId="' + $(this).data('productsheetid') + '"]');
您正在使用的camelcase键productSheetId用于以下属性

 <div data-product-sheet-id="n" class="productSheet"></div>

只需将密钥小写:

productSheet = $('[data-productSheetId="' + $(this).data('productsheetid') + '"]');
您正在使用的camelcase键productSheetId用于以下属性

 <div data-product-sheet-id="n" class="productSheet"></div>

我相信属性必须都是小写字母。只要用户理解productSheetId转换为productSheetId,就不会有问题。我的测试不会证实您的发现。你能检查一下我是否把你的意思编码为:?谢谢@mplungjan。连字符和驼峰大小写在数据属性本身上,而不是值上。请检查JS中带有注释的行。请让我知道,如果你有任何进一步的问题。我相信属性需要是所有小写字母。只要用户理解productSheetId转换为productSheetId,就不会有问题。我的测试不会证实您的发现。你能检查一下我是否把你的意思编码为:?谢谢@mplungjan。连字符和驼峰大小写在数据属性本身上,而不是值上。请检查JS中带有注释的行。如果您还有任何问题,请告诉我。