Javascript 单击链接时获取TD字段的值

Javascript 单击链接时获取TD字段的值,javascript,jquery,Javascript,Jquery,如果我有下面的代码,并且用户要使用jQuery单击delete按钮,我将如何获得关于它的组的名称(下面示例中的测试组)?如果有人想知道的话,那是因为我想显示一个确认框,其中包含要删除的组的名称 <td class='title column-title'>Test Group <div class="row-actions"> <span class='delete'> <a id="single-dele

如果我有下面的代码,并且用户要使用jQuery单击delete按钮,我将如何获得关于它的组的名称(下面示例中的测试组)?如果有人想知道的话,那是因为我想显示一个确认框,其中包含要删除的组的名称

<td class='title column-title'>Test Group
    <div class="row-actions">
        <span class='delete'>
            <a id="single-delete" href="?page=permissions-options-eidtor&action=delete&action_role=test_group&role=&paged=2&message=3">Delete</a>
        </span>
    </div>
</td>
测试组

试试这样的方法

$(document).ready(function() {

  $('#single-delete').click(function() {
     $(this).closest('.column-title').text(""); // UPDATE: Won´t work as text() returns all inner text.
  });

});
更新

您的链接
#single delete
应该有一个类,但您也可以使用选择器
。删除一个
,最好用
span
像这样的
测试组
或simular来包装文本

更新2

$('.delete a').click(function(e) {

    var group = $(this).closest('.column-title').find('.label').first().text();
    return confirm('Are you sure you want to delete the group "' + group + '"?');

});

试试这样的东西

$(document).ready(function() {

  $('#single-delete').click(function() {
     $(this).closest('.column-title').text(""); // UPDATE: Won´t work as text() returns all inner text.
  });

});
更新

您的链接
#single delete
应该有一个类,但您也可以使用选择器
。删除一个
,最好用
span
像这样的
测试组
或simular来包装文本

更新2

$('.delete a').click(function(e) {

    var group = $(this).closest('.column-title').find('.label').first().text();
    return confirm('Are you sure you want to delete the group "' + group + '"?');

});

如果这是一个动态链接,我建议为a元素添加一个自定义属性:

<td class='title column-title'>Test Group
    <div class="row-actions">
        <span class='delete'>
            <a id="single-delete" actionrole="test_group" href="...">Delete</a>
        </span>
    </div>
</td>
如果无法执行此操作,则可以提取链接的href属性,然后使用regex提取参数

更新


请参见

如果这是一个动态链接,我建议为a元素添加一个自定义属性:

<td class='title column-title'>Test Group
    <div class="row-actions">
        <span class='delete'>
            <a id="single-delete" actionrole="test_group" href="...">Delete</a>
        </span>
    </div>
</td>
如果无法执行此操作,则可以提取链接的href属性,然后使用regex提取参数

更新

请参见

匹配
祖先并获取其内部文本将无法按预期工作,因为返回的值还将包含所有子元素(包括链接)的内部文本

您可以通过使用和来隔离
元素的文本节点子元素,然后将它们的值与和连接起来,从而解决此问题:

$(“.delete a”)。单击(函数(){
var group=$(this).closest(“.column title”).contents().filter(函数(){
返回this.nodeType==3;
}).map(函数(){
返回此.nodeValue;
}).get().join(“”);
//现在对“组”做点什么。。。
});
匹配
祖先并获取其内部文本将无法按预期工作,因为返回的值还将包含所有子元素的内部文本,包括链接的内部文本

您可以通过使用和来隔离
元素的文本节点子元素,然后将它们的值与和连接起来,从而解决此问题:

$(“.delete a”)。单击(函数(){
var group=$(this).closest(“.column title”).contents().filter(函数(){
返回this.nodeType==3;
}).map(函数(){
返回此.nodeValue;
}).get().join(“”);
//现在对“组”做点什么。。。
});

我不确定“删除其中的组”是什么意思,但我可以通过以下代码告诉您如何跟踪“测试组”参数,即“操作角色”:

<script type="text/javascript">
 $(document).ready(function(){
  $('#single-delete').click(function() {
     console.log($(this).attr("href").split('&')[2].split('=')[1]);
  });
 });
</script>

$(文档).ready(函数(){
$(“#单次删除”)。单击(函数(){
console.log($(this.attr(“href”).split('&')[2].split('=')[1]);
});
});

我不确定“删除其中的组”是什么意思,但我可以通过以下代码告诉您如何跟踪“测试组”参数,即“操作角色”:

<script type="text/javascript">
 $(document).ready(function(){
  $('#single-delete').click(function() {
     console.log($(this).attr("href").split('&')[2].split('=')[1]);
  });
 });
</script>

$(文档).ready(函数(){
$(“#单次删除”)。单击(函数(){
console.log($(this.attr(“href”).split('&')[2].split('=')[1]);
});
});

我最好读一下这些问题。。我看到的唯一一个“test gorup”是在你的href属性上:/i我想我的答案对你不起作用它可以起作用-链接是由
foreach
循环生成的,因此我可以在你的自定义属性下添加组名。然而,通过这里的一系列帮助,我现在已经按预期工作了。谢谢。我最好读一下这些问题。。我看到的唯一一个“test gorup”是在你的href属性上:/i我想我的答案对你不起作用它可以起作用-链接是由
foreach
循环生成的,因此我可以在你的自定义属性下添加组名。然而,通过这里的一系列帮助,我现在已经按预期工作了。谢谢。通常情况下,如果代码中需要一段文本,最好将其放入某种html元素中,以便在不考虑其他控件的情况下将其提取出来。感谢各位-这有点过分,文本现在被包装在
标记中。通常情况下,如果代码中需要一段文本,把它放在某种类型的html元素中是个好主意,允许它被提取出来,而不管还有什么其他控件。谢谢伙计们,这有点过分了,文本现在被包装在
标记中。谢谢,再加上将我的文本包装在
标记中,并将您的解决方案以
结尾。查找('label').text()
我现在可以随心所欲地使用它了。谢谢-再加上将我的文本包装在
标记中,并将您的解决方案以
结尾。查找('label').text()
我现在可以随心所欲地使用它了。