Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
Can';使用Jquery无法找到最近的标签_Jquery - Fatal编程技术网

Can';使用Jquery无法找到最近的标签

Can';使用Jquery无法找到最近的标签,jquery,Jquery,我无法使用Jquery找到最近的标签 标签的id与输入的id不同: $(document).delegate(“输入[type=text]”,“键控”,函数(){ 如果(this.className=='other val'){ $label=$('label[for=“”+this.id+”); 如果($label.length>0){ console.log('ok') } } }); 其他 你的标记让我有点困惑。试试这个: HTML标记的示例: <div> <la

我无法使用Jquery找到最近的标签

标签的id与输入的id不同:

$(document).delegate(“输入[type=text]”,“键控”,函数(){
如果(this.className=='other val'){
$label=$('label[for=“”+this.id+”);
如果($label.length>0){
console.log('ok')
}
}
});

其他

你的标记让我有点困惑。试试这个:

HTML标记的示例:

<div>
  <label>some text</label>
  <input type="text">
</div>

标签不必环绕输入字段

您的标记让我有点困惑。试试这个:

HTML标记的示例:

<div>
  <label>some text</label>
  <input type="text">
</div>

标签不必环绕输入字段

因为此元素有多个类名,所以必须使用
includes
而不是
=
运算符

另外,输入的ID是
无线电组-1548153603981-other-value
,您在标签中遗漏了单词
value
,并且由于您的HTML是由第三方软件生成的,因此我使用
。替换
从输入ID中省略-值

$(document).delegate(“输入[type=text]”,“键控”,函数(){
if(this.className.includes('other-val')){
$label=$('label[for=“”+this.id.replace(“-value”,”)+”);
如果($label.length>0){
console.log('ok')
}
}
});

其他

由于此元素有多个类名,因此必须使用
includes
而不是
=
运算符

另外,输入的ID是
无线电组-1548153603981-other-value
,您在标签中遗漏了单词
value
,并且由于您的HTML是由第三方软件生成的,因此我使用
。替换
从输入ID中省略-值

$(document).delegate(“输入[type=text]”,“键控”,函数(){
if(this.className.includes('other-val')){
$label=$('label[for=“”+this.id.replace(“-value”,”)+”);
如果($label.length>0){
console.log('ok')
}
}
});

其他

上使用
而不是
委托
,使用大多数jQuery功能,如果使用jQuery,不要结合纯DOM javascript

我看到标签是
输入的父项,所以使用方法


上使用
而不是
委托
,使用大多数jQuery功能,如果使用jQuery,不要结合纯DOM javascript

我看到标签是
输入的父项,所以使用方法


使用jquery获取上述标签的可能方法

  • $('label[for$=其他])-“$=”忽略“其他”之前的所有文本并查找控件
  • $(this.sibbines('label[for$=other])-在其任何同级元素的回调函数中时
  • $('label[for=radio-group-1548153603981-other])
  • 
    
    使用jquery获取上述标签的可能方法

  • $('label[for$=其他])-“$=”忽略“其他”之前的所有文本并查找控件
  • $(this.sibbines('label[for$=other])-在其任何同级元素的回调函数中时
  • $('label[for=radio-group-1548153603981-other])

  • 替换
    $('label[for=“”+this.id+”)$(“标签[for='”+this.id+“']”)进行编码>感谢您的回复,但仍然false@Ahtisham:为什么引号的类型很重要?您需要使用
    hasClass
    替换
    $('label[for=“”+this.id+”)$(“标签[for='”+this.id+“']”)进行编码>感谢您的回复,但仍然false@Ahtisham:为什么引号的类型很重要?您需要使用
    hasClass
    我无法修改HTML。我有一个FormBuilderJS构建所有html。我不能修改html。我有一个formBuilder js构建所有html。我不能修改标签中的内容。此HTML由formBuilderJsI生成。我在回答的末尾添加了一个建议,以解决HTML问题。@MathieuMourareauif如果我这样做。id.replace(“value”),我将替换输入权限的id?如何仅删除id中的“-value”?实际上,当我执行console.log(this.id)时,我得到:radio-group-1548153603981-other-value我想替换为radio-group-1548153603981-otherI我已经根据comments@mathieumourreaui中的新问题再次编辑了答案,无法修改标签中的内容。此HTML由formBuilderJsI生成。我在回答的末尾添加了一个建议,以解决HTML问题。@MathieuMourareauif如果我这样做。id.replace(“value”),我将替换输入权限的id?如何仅删除id中的“-value”?实际上,当我执行console.log(this.id)时,我得到了:radio-group-1548153603981-other-value我想用radio-group-1548153603981-other替换。我已经根据comments@MathieuMourareau中的新问题再次编辑了答案
    $(document).on( "keyup", "input[type='text']", function() {
    
       if($(this).hasClass('other-val')) {
            $label = $(this).closest("label"); 
    
            if ($label.length > 0 ) {
                console.log('ok')
            }
        }
    });
    
    <label for="radio-group-1548153603981-other">