jQuery 遍历 DOM - 单击按钮时按类定位项目

标签 jquery jquery-selectors

我没有 ID 可供查看,因为某些行是通过克隆动态插入的。

我正在查找与单击的“检查系统”按钮相对应的系统名称的值。

这是函数:

function getSystemInfo(btn){    
    var buttonClicked = $(btn);
    var firstSystemName = buttonClicked.parent().next().find($("input.systemname"));
    alert( $(firstSystemName).val() );
}            

这是生成的源代码:

<div name="singleSystemDiv" class="offset-bg">
    <div class="field inline">
    <label class="frmFlds_labels">System Name</label>
    <input name="systemname" class="systemname" size="15" value="d1cti1d4" type="text">
    </div>
    <div class="field inline">
    <label class="frmFlds_labels">Location</label>
        <select id="location" name="location">
            <option value=""></option>
            <option value="Akron">Akron</option>
            <option value="Allen">Allen DC - Mob</option>
            <option value="Alpharetta">Alpharetta - Mob</option>
        </select>
    </div>
    <div class="field inline">
    <label class="frmFlds_labels">Platform</label>
        <select id="platform" name="platform" onChange="updateModels(this);" class="platform">
            <option value=""></option>
            <option value="IBM" selected="selected">AIX</option>
        </select>
    </div>
    <div class="buttons">
        <input value="Remove System" onClick="removeSystemRow(this);" type="button">
        <input value="Check System" onClick="getSystemInfo(this);" type="button">
    </div>
</div>

按照我写的方式,我的警报正在触发,未定义。

我似乎不得不问很多关于遍历的问题。如果有人有一个网站可以演示这一点,请发布该网站。 jQuery 的有关 .next()、parents() 等的文档不适合我。

最佳答案

试试这个:

function getSystemInfo(btn){    
    var buttonClicked = $(btn);
    var $firstSystemName = buttonClicked.closest("div[name='singleSystemDiv']").find($("input.systemname"));
    alert($firstSystemName.val());
}  

Example fiddle

或者,您可以使用 buttonClicked.parent().parent().find($("input.systemname")); 但我个人发现链式 parent() code> 调用起来有点难看。

关于jQuery 遍历 DOM - 单击按钮时按类定位项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9484448/

相关文章:

jquery - 如何在 jquery ui 小部件工厂小部件中声明静态/类变量

javascript - 在 Android 浏览器中使用 JQuery Mobile 添加点击事件处理程序时出现问题

javascript - 在 javascript 或 JQuery 中查找控件

jquery - 如何使用 jQuery 选择器

javascript - 触发对具有相同类的多个元素的点击

javascript - jquery菜单,悬停并显示:none

javascript - 作为一名精通 HTML 和 CSS 的设计师,开始使用 jquery 插件而不是学习 javascript 是否安全?我不是程序员

jquery - 在表单中使用 jstree 复选框

jquery - 使用 jQuery 动态创建的按钮 $ ('<button>' ) 语法为空

javascript - CSS 不是选择器不工作