无法在JQuery中找到最接近的标签文本

时间:2016-09-17 09:03:00

标签: javascript c# jquery asp.net

我想访问附近复选框的标签文字。我正在使用Visual Studio和C#。

HTML PAGE

<td><input id="ctl00_ContentPlaceHolder1_CHKBranches_0" type="checkbox" 
name="ctl00$ContentPlaceHolder1$CHKBranches$0">
<label for="ctl00_ContentPlaceHolder1_CHKBranches_0">Kolkatta (EJAA)</label></td>

访问文本的jquery脚本

var strBr = "";             
$("input[id*='CHKBranches']").each(function() {
if ($(this).is(':checked')) {                   
     // Note : successfully check checkbox but unable to find closest label text                          
        strBr += $(this).closest('label').text() +",";
    }
});

2 个答案:

答案 0 :(得分:1)

为什么不向上移动到父母,然后找到标签?

的jQuery

var strBr = ""; 
  $("input[id*='CHKBranches']").each(function() {
    if ($(this).is(':checked')) {                   
      var $parent = $(this).parent();               
      strBr += $parent.closest('label').text() +",";
    }
  });

答案 1 :(得分:0)

由于.closest()的工作方式,您无法找到标签。它查看父节点。您应该将.closest()替换为.siblings(),以便搜索DOM树中处于同一级别的节点。

https://jsfiddle.net/oogjs0r5/