Javascript JQuery选择具有精确匹配类的所有下拉列表

Javascript JQuery选择具有精确匹配类的所有下拉列表,javascript,jquery,loops,select,drop-down-menu,Javascript,Jquery,Loops,Select,Drop Down Menu,这是我的密码 $('select[class^="' +pnum+ '"]').each(function(){ // Get price and prefix of each attributes var PricePrefix = AttributesAll[$(this).attr('class')] var PricePrefixSplit = PricePrefix.split("-with-");

这是我的密码

   $('select[class^="' +pnum+ '"]').each(function(){

          // Get price and prefix of each attributes
          var PricePrefix = AttributesAll[$(this).attr('class')]
          var PricePrefixSplit = PricePrefix.split("-with-");


          var AttPrice = parseFloat(PricePrefixSplit[0]);
          var AttPrefix = PricePrefixSplit[1];

          attributes_price = parseFloat(attributes_price);

          // Formulas for calculating attribute prices
          if (AttPrefix == '+') {
            attributes_price = attributes_price+AttPrice;
          } else if (AttPrefix == '%'){
            attributes_price = attributes_price * (1+(0.01*AttPrice));
          } else {
            attributes_price =  attributes_price-AttPrice;
          }



        });
我正在尝试获取所有具有完全匹配的类名的选择框

$('select[class^="' +pnum+ '"]').each(function(){
1) 上面的代码行获取以匹配类开头的所有选择框

2)
pnum
是一个整数值,我尝试将其转换为字符串,但仍然存在相同的问题

3) 假设有class='1'和class='10'两个类,它会同时获取这两个类,但它不应该这样做

4) 我已尝试将上面的代码行替换为

$('select[class="' +pnum+ '"]').each(function(){
这样做仍然不起作用


任何帮助都将不胜感激

为类指定整数听起来不是个好主意。除非你有一个特定整数的css。如果使用它来纯粹标识对象,则可以使用自定义选择器,如

<select data-selector="1">
<option value="as">1st option</option>
</select> 

希望对您有所帮助。

通常,将类指定为数字不是一个好主意,请尝试添加一些伪单词:

$('select[class^="el' +pnum+ '"]').each(function(){
无论如何,我认为问题在于你的pnum变量,如果它是1,它将选择所有以1开头的类,因为你在定义中这么说:

$('select[class^=

它处理所有以定义的单词(^char)开头的类

更进一步,您可以在循环之前定义存储类名称的变量:

var elem = "el" + pnum;
$('select[class="'+elem+'"').each(function(){

$('select[class=“”+pnum+“]”)应该可以工作。
你能在控制台中看到错误吗?@guradio我在控制台中看到此警告getPreventDefault()的使用已被弃用。请改为使用defaultPrevented。在jquery 1.6.2中
var elem = "el" + pnum;
$('select[class="'+elem+'"').each(function(){