按值选择子标记并双击

时间:2012-04-03 14:49:09

标签: javascript jquery tags

我有几个带有i11类的标签都带有类i15的子标签,我需要选择具有值folder的这些子标签中的特定一个(未知变量) )。 为了更好地解释这里的ahtml代码片段:

<div class = "i11">
  <input type = "text"
         class = "i15"
         style = "display: none;" />
  <input type = "text"
         class = "i16"
         style = "display: none;" />
  //other non-relevant html fields
</div>
//code above repeated 'x' amount of times

我有一个上下文菜单,其中包含一个选项,当它被选中时会触发一个函数并存储所点击的i11的{​​{1}}值的值,然后我需要选择那个特定的{{1在函数中,我无法设置单个id,因为可以有任意数量的这些i15 div并且是动态创建的。

我试图选择它的代码是:

i15

非常感谢任何帮助。

编辑:我需要通过使用检索并存储在i11中的值来选择ELEMENT或父元素本身而不是元​​素的值,然后触发双击事件。

2 个答案:

答案 0 :(得分:0)

如果我已正确理解您的要求,请尝试以下方法:

function a25() {
    var folder = $('#iFO').val();
    var $el = $('.i11').children('.i15');
    if ($el.val() == folder) {
        $el.select();
        console.log('yay!');
    } 
    else {
        console.log("nothing :(");
    }
}

答案 1 :(得分:0)

使用类选择器,即使只选择了1个元素,也会得到一个包装在jQuery包装器对象中的数组。因此,您需要像这样获取元素:

$('.i11').children('.i15').get(0).val() == folder//etc...

另外,如果有多个孩子拥有相同的课程(很可能因为你没有使用id),请尝试循环播放孩子:

$(parentElement).children('.i15').each(function()
{
    if ($(this).val() === folder)
    {
        console.log($(this));// || console.log($(this).closest('.i11'));
    }
});

另一件值得尝试的事情是明确触发绑定事件及其处理程序。而不是$(this).dblclick();尝试$(this).trigger('dblclick');。 希望这有帮助......虽然我可能一起误解了你的问题......如果是这样的话:随时让我知道