Javascript 在单击事件中从所有类获取文本

Javascript 在单击事件中从所有类获取文本,javascript,jquery,Javascript,Jquery,有多个元素,每个元素的类p1、p2、p3…p14因此,当我尝试从单击的类中获取文本时,我从所有类中获取文本!例如,当文本必须是80时,它将是80808080。除了给每个人一个ID,还有其他解决办法吗 $('.p1,.p2,.p3,.p4,.p5,.p6,.p7,.p8,.p9,.p10,.p11,.p12,.p13,.p14').click(function(event) { if(!playerSelected) { playerName = this.title;

有多个元素,每个元素的类
p1、p2、p3…p14
因此,当我尝试从单击的类中获取文本时,我从所有类中获取文本!例如,当文本必须是
80
时,它将是
80808080
。除了给每个人一个
ID
,还有其他解决办法吗

$('.p1,.p2,.p3,.p4,.p5,.p6,.p7,.p8,.p9,.p10,.p11,.p12,.p13,.p14').click(function(event) {
    if(!playerSelected) {
        playerName = this.title;
        // GETS TEXT FROM ALL CLASSES
        playerNumber = $('.' + this.className + '>strong').text();
        console.log(playerName + " : " + playerNumber);
        playerSelected = true;                   
    }
});

您需要单独查看该目标元素:

 playerNumber = $(this).find("strong").text();
现在它将仅从该目标元素获取文本

就你而言:

playerNumber = $('.' + this.className + '>strong').text();

实际上,您正在查询具有匹配类名的所有元素。因此,它将从具有相同类名的所有元素返回文本。

您需要单独查看该目标元素:

 playerNumber = $(this).find("strong").text();
现在它将仅从该目标元素获取文本

就你而言:

playerNumber = $('.' + this.className + '>strong').text();

实际上,您正在查询具有匹配类名的所有元素。因此,它将返回具有相同类名的所有元素的文本。

如果
标记位于类中。p1、.p2…等,则可以尝试此操作

jQuery('.p1,.p2,.p3,.p4,.p5').click(function (event) {
    alert(jQuery(this).children('strong').text())
});

检查此项

如果
标记在您的类中。p1、.p2…等,则可以尝试此项

jQuery('.p1,.p2,.p3,.p4,.p5').click(function (event) {
    alert(jQuery(this).children('strong').text())
});

检查此项

假设类元素中的强标记不只是使用

playerNumber = $(this).text();
试试这个

$('.p1,.p2,.p3,.p4,.p5,.p6,.p7,.p8,.p9,.p10,.p11,.p12,.p13,.p14').click(function(event) {
    if(!playerSelected) {
        playerName = $(this).title;
        // GETS TEXT FROM ALL CLASSES
        playerNumber = $(this).find("strong").text();
        // if strong tag are not in class element
        //playerNumber = $(this).text();
        console.log(playerName + " : " + playerNumber);
        playerSelected = true;                   
    }
});
您还可以将单个调用分配给所有用户,而不用使用p1、p2

佩利门特先生

像这样

$('.pelement').click(function(event) {
    if(!playerSelected) {
        playerName = $(this).title;
        // GETS TEXT FROM ALL CLASSES
        playerNumber = $(this).find("strong").text();
        // if strong tag are not in class element
        //playerNumber = $(this).text();
        console.log(playerName + " : " + playerNumber);
        playerSelected = true;                   
    }
});

假设类元素中的强标记不只是使用

playerNumber = $(this).text();
试试这个

$('.p1,.p2,.p3,.p4,.p5,.p6,.p7,.p8,.p9,.p10,.p11,.p12,.p13,.p14').click(function(event) {
    if(!playerSelected) {
        playerName = $(this).title;
        // GETS TEXT FROM ALL CLASSES
        playerNumber = $(this).find("strong").text();
        // if strong tag are not in class element
        //playerNumber = $(this).text();
        console.log(playerName + " : " + playerNumber);
        playerSelected = true;                   
    }
});
您还可以将单个调用分配给所有用户,而不用使用p1、p2

佩利门特先生

像这样

$('.pelement').click(function(event) {
    if(!playerSelected) {
        playerName = $(this).title;
        // GETS TEXT FROM ALL CLASSES
        playerNumber = $(this).find("strong").text();
        // if strong tag are not in class element
        //playerNumber = $(this).text();
        console.log(playerName + " : " + playerNumber);
        playerSelected = true;                   
    }
});

你能添加提琴吗?你能添加提琴吗?@Suhail Gupta,如果你的
元素是你绑定的click元素的一级子元素。您应该使用
children()
方法作为良好的实践
find()
移动到绑定元素中的所有dome元素,以查找
标记。@Suhail Gupta,如果您的
元素是绑定位置的第一级子元素,请单击元素。您应该使用
children()
方法作为良好的实践
find()
移动到绑定元素中的所有dome元素,以查找
标记。