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