Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Jquery在按钮单击时遍历div_Jquery_Html - Fatal编程技术网

使用Jquery在按钮单击时遍历div

使用Jquery在按钮单击时遍历div,jquery,html,Jquery,Html,我有下面的HTML,正在尝试获取该特定Div的按钮(btnClick)上的文本(主文本和子文本)(运行时Div的数量可能不同) ***一些主要案文*** **一些子文本** ***一些主要案文*** **一些子文本** 我试过了,但不确定如何在没有唯一ID字段的情况下只使用类名来实现这一点,我认为应该有一种方法 谢谢 $('.btnClick').click(function () { var mainText = '', childText; $(this).parent

我有下面的HTML,正在尝试获取该特定Div的按钮(btnClick)上的文本(主文本和子文本)(运行时Div的数量可能不同)


***一些主要案文***
**一些子文本**

***一些主要案文*** **一些子文本**

我试过了,但不确定如何在没有唯一ID字段的情况下只使用类名来实现这一点,我认为应该有一种方法

谢谢

$('.btnClick').click(function () {
    var mainText = '', childText;

    $(this).parent().contents().filter(function () {
        return this.nodeType == 3;
    }).each(function (i, el) {
        mainText += $(el).text();
    });

    childText = $(this).siblings('.child').text();

    alert(mainText);
    alert(childText);
});
请参阅。

像这样尝试:

$('.btnClick').click(function(){
        console.log($(this).parent().text().split('\n')[1] + $(this).siblings('.child').text());
});
您可以执行以下操作:

$('.btnClick').click(function () {

    var mainText = $.trim($(this).closest('.main').text().split('\n')[0]);
    console.log('Main Text : ', mainText);

    var childText = $.trim($(this).next('.child').text());    
    console.log('Child Text : ', childText);
});

您可以使用
$(this).parent('div.main').text()
获取
div.main
中包含的所有文本(这将包括所有子元素的文本)

如果要单独获取
div.main
的文本,可以执行以下操作:

var mainText = $(this).parent('div.main').get(0).childNodes[0].nodeValue;
…对于子文本:

var childText = $(this).next('div.child').text();

这就给出了两个文本。但我想单独拥有它。一个用于主控,另一个用于子控。@user2067567更新了答案和小提琴:)
var childText = $(this).next('div.child').text();