Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.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
Jquery 从标签中提取输入的id_Jquery - Fatal编程技术网

Jquery 从标签中提取输入的id

Jquery 从标签中提取输入的id,jquery,Jquery,html 我认为这不是正确的方法。怎么做?在接收器功能中形成动态选择器的方式完全错误 试试看 或者,如果原始HTML结构与给定的结构相同,则可以使用.next() 应该是: $('label').text(function(){ return $(this).next('input').val(); }); 您只需使用标签的htmlFor属性来引用文本框: $('label').text(function(){ return $('#' + $(this).prop('for'))

html


我认为这不是正确的方法。怎么做?

在接收器功能中形成动态选择器的方式完全错误

试试看

或者,如果原始HTML结构与给定的结构相同,则可以使用
.next()

应该是:

$('label').text(function(){
  return $(this).next('input').val();
});


您只需使用标签的
htmlFor
属性来引用文本框:

$('label').text(function(){
   return $('#' + $(this).prop('for')).val();
});
再次阅读问题后,您可能正在寻找以下内容:

$('label').text(function() {
   // find tag by id and return its value
   return $('#' + this.htmlFor).val();
});

另请参见:

ID属性在每页上都是唯一的,因此实际上,不需要说明它是关于
输入的35;
不确定OP为什么需要输入#my_ID for.@RokoC.Buljan可读性,如果他们正在进行组合开发,示例:将来,如果一个新开发人员进来,他/她必须检查HTML文件以检查该元素的性质,无论是div/span/input还是其他内容。@RajaprabhuAravindasamy我理解,但发挥神奇作用的是
标签
。因此,对于未来的发展,这是利益的因素。然后,你可能会在代码中查看
label
发生了什么,并看到
$('label').text(function(){
,它甚至不需要
input
在里面。如果你使用
.next()
,只要你想稍微修改HTML@RokoC.Buljan当然可以:)这就是为什么我刚才给出了一个旁注,如果您的原始HTML结构与给定的结构相同,那么输入的
id
就是
属性的值。+1这就是我试图回答的,只是忘记了
htmlFor
@SalmanA您的电脑似乎坏了;)下面是上面确切代码的演示:哪个是如何使用
.prop()
methodDrat,没有注意到你用prop替换了attr。@SalmanA实际上我在想为什么我不能使用它(我知道这很有趣)vanilla的
this.for
,似乎逻辑原因
for
是一个保留字,因此尝试
attrFor
失败的杰克记得正确的方法:
htmlFor
:D:D我想知道是谁发明了与“属性”相关的“html”前缀……在这种情况下,正确的解决方法是使用
attr('for'))
.prop('htmlFor')
.jQuery将
prop('for')
映射到
prop('htmlFor')
prop('class')
映射到
prop('className')
幕后。@SalmanA这不太正确,您可能不知道jQuery
prop()
方法的范围比
.attr()更广
获取浏览器分配的(属性和)属性时,
.attr()
可能会失败,但在任何情况下,
for
htmlFor
都是可通过
.prop()
获取的完全有效(attr)属性。
$('label').text(function(){
  return $(this).next('input').val();
});
$('label').text(function () {
    return $('input#' + $(this).attr('for')).val(); // like input#my_id
    //or
    return $('#' + $(this).attr('for')).val(); // like #my_id 
});
$('label').text(function(){
   return $('#' + $(this).prop('for')).val();
});
$('label').text(function() {
   // find tag by id and return its value
   return $('#' + this.htmlFor).val();
});
$('label').text(function() {
   return 'input#' + this.htmlFor;
});