Javascript 根据编程确定的HTML属性获取特定变量的值

Javascript 根据编程确定的HTML属性获取特定变量的值,javascript,jquery,selector,Javascript,Jquery,Selector,很抱歉打扰您,但这让我很困扰:我有以下VAR: var one = 1; var two = 2; var tre = 3; 我还有一个输入框 <input type='text' id='one' class='some'> 我希望varnr等于1(作为变量one以上)使用以下符号: $('selector[attr]') // elements that has attribute attr $('selector[attr=value]') // elemen

很抱歉打扰您,但这让我很困扰:我有以下VAR:

var one = 1;
var two = 2;
var tre = 3;
我还有一个输入框

<input type='text' id='one' class='some'>

我希望var
nr
等于1(作为变量
one
以上

使用以下符号:

  $('selector[attr]')   // elements that has attribute attr
  $('selector[attr=value]')  // elements that has attribute attr with value `value`
  $('selector[attr^=value]') // elements that has attribute attr starting with value `value`
  $('selector[attr$=value]') // --~-- ending with `value`
  $('selector[attr!=value]') // not equal `value`
  $('selector[attr*=value]') // attribute contains `value`
  $('selector[attr|=value]') // attribute has prefix `value`
  $('selector[attr~=value]') // attribute contain word delimited by spaces
请参阅完整的

编辑: 你可能会问另一件事:

您有特定的值映射,并希望执行以下操作:

var map =  { one: 1, two : 2 , three: 3 } ,
    elem = $('.some'),
    attr = elem.attr('id'),
    nr = map[attr]  // === 1

使用以下符号:

  $('selector[attr]')   // elements that has attribute attr
  $('selector[attr=value]')  // elements that has attribute attr with value `value`
  $('selector[attr^=value]') // elements that has attribute attr starting with value `value`
  $('selector[attr$=value]') // --~-- ending with `value`
  $('selector[attr!=value]') // not equal `value`
  $('selector[attr*=value]') // attribute contains `value`
  $('selector[attr|=value]') // attribute has prefix `value`
  $('selector[attr~=value]') // attribute contain word delimited by spaces
请参阅完整的

编辑: 你可能会问另一件事:

您有特定的值映射,并希望执行以下操作:

var map =  { one: 1, two : 2 , three: 3 } ,
    elem = $('.some'),
    attr = elem.attr('id'),
    nr = map[attr]  // === 1

只能使用动态生成的变量名来匹配对象属性:

var ids = { one : 1, two : 2, tre : 3 };

var atr = $(".some").attr("id");

var nr = ids[atr]; // now contains 1

只能使用动态生成的变量名来匹配对象属性:

var ids = { one : 1, two : 2, tre : 3 };

var atr = $(".some").attr("id");

var nr = ids[atr]; // now contains 1

我不明白你想达到什么目的。请详细说明。请注意,输入框的id等于“一”。我还有一个变量,叫做“一”,我想选择它。你不能“选择一个变量”。选择是一种操作,通过该操作,一组HTML元素将根据指定的规则进行匹配。JavaScript变量不是HTML元素。@nbrooks那么我有什么选择?@faq我想我现在对你的问题理解得更好了,我对你的标题做了一些澄清,回答如下:我不明白你想达到什么目的。请详细说明。请注意,输入框的id等于“一”。我还有一个变量,叫做“一”,我想选择它。你不能“选择一个变量”。选择是一种操作,通过该操作,一组HTML元素将根据指定的规则进行匹配。JavaScript变量不是HTML元素。@nbrook那么我有什么选择?@faq我想我现在对你的问题理解得更好了,我对你的标题做了一些澄清,并在下面回答。为了完整起见,以下是其他变体的示例(包括
attr*=value
attr$=value
和其他)@BradChristie将把你提到的链接添加到回答中为了完整起见,以下是其他变体的链接(包括
attr*=value
attr$=value
和其他)。BradChristie将把你提到的链接添加到回答中