javascript - 获取隐藏 span 标签的文本值

标签 javascript jquery html css

我有一个包含数据列(姓名、年龄、电子邮件)的表格,我有一个隐藏的模式窗口,仅当用户点击每行旁边的“详细信息”时才会出现。

需要在模式中填充的数据在隐藏的 span 标签中,带有 hide-name 等类。

HTML:

<tr class="xrow row-2">
<td>Fisher, Baker</td>
<td>2 notes</td>
<td><a href="#" class="btn btn-primary btn-sm btn-review" data-toggle="modal" data-target="#reviewMeetingModal">Review</a></td>
<span class="hide hidden-name">Fisher, Baker</span>
<span class="hide hidden-date">2014-03-20</span>
<span class="hide hidden-time">14:00:00</span>
</tr>

这是我使用过的 JS,但是当我调用 name 变量时,它什么也没有返回。

$('.xrow').on("click", '.btn-review', function () {
    var name = $(this).closest('span.hidden-name').text();
    // alert(name);
}

最佳答案

this 在你的代码中指的是 .btn-review 元素而不是 tr,你应该首先选择最接近的 tr 元素:

var name = $(this).closest('tr').find('span.hidden-name').text();

编辑:你的标记无效,tr 元素只能有 td 子元素,你应该用 td 元素包裹 span 元素,浏览器将以不同方式呈现此标记。更改标记后,上面的代码片段应该可以工作。

我建议将 span 移动到具有子按钮的 td 元素,然后使用 $(this).siblings('span .hidden-name').text() 这比使用 closest 然后 find 更有效。

<tr class="xrow row-2">
    <td>Fisher, Baker</td>
    <td>2 notes</td>
    <td>
       <a href="#" class="btn btn-primary btn-sm btn-review" data-toggle="modal" data-target="#reviewMeetingModal">Review</a>
       <span class="hide hidden-name">Fisher, Baker</span>
       <span class="hide hidden-date">2014-03-20</span>
       <span class="hide hidden-time">14:00:00</span>
    </td>
</tr>

关于javascript - 获取隐藏 span 标签的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22182402/

相关文章:

javascript - 如何将用户输入到 html 文本表单字段中的值传递给 javascript 函数?

javascript - 使用 javascript/VBA 以编程方式输入 angularjs 文本字段

javascript - 如何为meteor js网站设置Facebook SDK?

php - Jquery自动补全+Mysql

javascript - 表格单元格中链接的警报值

jquery - 使用 jQuery 动态更改元标记

PHP |如何从 url 字符串中删除特定字符串

javascript - `export { foo as default }` 是有效的 ES2015 吗?

jquery - ASP.NET MVC Ajax 将仅更新列表中的第一个

javascript - 如何将多个值推送到表单中?