Javascript 哪个jquery选择器可以执行此操作?

Javascript 哪个jquery选择器可以执行此操作?,javascript,jquery,Javascript,Jquery,像这样的东西能奏效吗 $(".clickme").click(function(){ var name = $(this).closest('.name').text(); alert(name); }); 这里的工作示例:像这样的东西会起作用吗 $(".clickme").click(function(){ var name = $(this).closest('.name').text(); alert(name); }); 此处的工作示例:您无法使用最近的()选

像这样的东西能奏效吗

 $(".clickme").click(function(){
    var name = $(this).closest('.name').text();
alert(name);
 });

这里的工作示例:

像这样的东西会起作用吗

 $(".clickme").click(function(){
    var name = $(this).closest('.name').text();
alert(name);
 });

此处的工作示例:

您无法使用
最近的()
选择
.name
,因为它不是祖先。您需要选择一个共同的祖先,例如
,然后沿着树返回到
.name
元素

$(".name", $(this).closest("div")).text()
你可以在一行中使用

$(".clickme").click(function(){
  var table = $(this).closest("table");
  var name =  table.find('.name').text();
  alert(name);
 });

您无法使用
最近的()
选择
.name
,因为它不是祖先。您需要选择一个共同的祖先,例如
,然后沿着树返回到
.name
元素

$(".name", $(this).closest("div")).text()
你可以在一行中使用

$(".clickme").click(function(){
  var table = $(this).closest("table");
  var name =  table.find('.name').text();
  alert(name);
 });

您可以向上遍历树,直到碰到一个

$(".clickme").click(function(){
  var name =  $(this).closest("table").find('.name').text();
  alert(name);
 });

您可以向上遍历树,直到碰到一个

$(".clickme").click(function(){
  var name =  $(this).closest("table").find('.name').text();
  alert(name);
 });

这对我来说很管用

var name = $( this ).closest( 'table' ).find( '.name' ).text();

这对我来说很管用

var name = $( this ).closest( 'table' ).find( '.name' ).text();
最简单的答案-

function() {
    $(".clickme").click(
        function(e) {
            alert($(this).parents("div").find(".name").html());
        }
    );
}
最简单的答案-

function() {
    $(".clickme").click(
        function(e) {
            alert($(this).parents("div").find(".name").html());
        }
    );
}

使用
最近的()。它的效率更高,因为当它找到第一个匹配的祖先时,
closest()
会停止,而
parents()
会继续在DOM树上查找更多。使用
closest()
而不是
parents()
。它的效率更高,因为当它找到第一个匹配的祖先时,
closest()
会停止,而
parents()
会继续在DOM树上查找更多。不,因为它在周围的div中搜索类为“.name”的元素。请尝试jsfiddle。@AndyE-Oops,如果我正确阅读它,会有所帮助。哑注释已删除。否,因为它正在周围div中搜索类为“.name”的元素。请尝试JSFIDLE。@AndyE-Oops,如果我正确阅读它,会有所帮助。愚蠢的评论被删除了。这不起作用,因为正如我指出的,有多个同名的类。好吧,为什么不在这个特定的td中添加一个新的类呢。。?我想给你一个最简单的解决办法。您可能从这里的其他响应中得到了有效的解决方案,这在技术上比我在这里建议的要好-这个怎么样-$('.clickme.extraClass')。单击(function(){//此处剩余代码}注意添加了另一个类-“extraClass”在jquery中,对html也做了同样的添加。请看这里的jfiddle-给元素添加一个新类如何?请看这里的jfiddle-这只是做同样事情的另一种方法,可能是最简单的方法,但可能不是最好的技术解决方案!:)做同样事情的方法可能有很多种。如果它没有坏,就不要修理它P您的示例对我来说不起作用,因为我无法更改该类(表是使用php循环创建的。但是,现在我试图弄清楚为什么html()返回包含html和text()的内容返回所有不带html的类的内容。我只需要文本和所选div中的内容…这不起作用,因为正如我指出的,有多个同名的类。好吧,为什么不向这个特定的td添加一个新类..?我试图给您提供最简单的解决方案。您可能从其他响应中得到了有效的解决方案在这里,这在技术上比我在这里建议的要好-这个怎么样-$('.clickme.extraClass')。单击(function(){//remaining code here}注意添加了另一个类-“extraClass”在jquery中,也对html进行了相同的添加。请参见此处的jfiddle-向元素添加一个新类如何?请参见此处的jfiddle-这只是做同样事情的另一种方法,可能是最简单的方法,但可能不是最好的技术解决方案!)做同样的事情可能有很多种方法。如果它没有损坏,就不要修复它。:P您的示例对我来说不起作用,因为我无法更改该类(表是用php循环创建的。但是现在我试图弄清楚为什么html()返回包含html和text()的内容返回所有不带html的类的内容。我只需要文本和所选div中的内容。你知道为什么将最后一个函数html()更改为text()会给我带来完全不同的效果吗?它会从页面中提取每个名称类。我正在寻找一种只提取文本并去除标记(那些是留言板帖子)的方法.哦!好吧。我是根据你问题中提供的示例来做的。:)你知道为什么将最后一个函数html()更改为text()会给我一个完全不同的效果吗?它会从页面中提取每个名称类。我正在寻找一种方法,只提取文本并去除标记(那些是留言板帖子).哦!好吧。我是根据你问题中提供的样品做的。:)