Javascript 如何修改文档中DIV元素的子集?
请点击此处: 假设有一个图像库,每个图像都包含在一个容器中,容器中有一个公共的Javascript 如何修改文档中DIV元素的子集?,javascript,jquery,Javascript,Jquery,请点击此处: 假设有一个图像库,每个图像都包含在一个容器中,容器中有一个公共的类名称。我有一个div封装了所有东西。我在JSFiddle代码中设置了一个基本示例 如果用户单击其中一个图像中的一个特定元素,则生成的操作应该对所有图像(或者可能是一个子集)起作用。我编写代码的方法是先查看最上面的div,然后搜索div元素中我想要更改的内容。但我想知道如何只选择一个子集。我可以用$('.myB').text('bye')但无法通过文本匹配来仅更改其中的部分内容。但我现在也无法找到一种正确的方法来比较字
类
名称。我有一个div
封装了所有东西。我在JSFiddle代码中设置了一个基本示例
如果用户单击其中一个图像中的一个特定元素
,则生成的操作应该对所有图像(或者可能是一个子集)起作用。我编写代码的方法是先查看最上面的div,然后搜索div
元素中我想要更改的内容。但我想知道如何只选择一个子集。我可以用$('.myB').text('bye')代码>但无法通过文本匹配来仅更改其中的部分内容。但我现在也无法找到一种正确的方法来比较字符串。你有什么建议可以给我吗?多谢各位
*澄清——另一个问题是,JQuery能否将所有myB
元素w/contentshello2
作为一个数组,并让我遍历它们
$('.one .myB').bind('click', function() {
//alert('test');
//var ttext = $(this).parentsUntil('.one').find('.myB').text();
//$(this).parentsUntil('.one').find('.myB').text('bye');
//$('.myB').text('bye');
if ($('.myB').text() == "hello2") {
$('.myB').text('bye');
}
//alert('text->' + ttext);
});
标记内可能有空格和空行。可以尝试使用trim()
:
这个问题很不清楚。如果我理解正确的话
我可以用$('.myB').text('bye')代码>但无法通过文本匹配来仅更改其中的部分内容。但我现在也无法找到一种正确的方法来比较字符串
然后,您可能需要执行以下操作:
$('.one .myB').bind('click', function() {
$(".myB").each(function() {
var $this = $(this);
if ($this.text().trim() === 'hello2')
{
$this.css('background-color', 'red'); // just for example
}
});
});
当您单击任何myB
时,此代码将更改文本内容为“hello2”的所有myB
元素的背景。这是电话号码。谢谢。我希望能够扫描所有myB元素,但只有在用户单击包含hello2的myB时才能更改hello2内容。我在这里调整了您的代码:。它似乎起作用了。这是一种不好的方式来完成我想要完成的事情吗?我想另一个问题是,JQuery能否将所有myB元素w/contents hello2作为一个数组,并让我遍历它们?[将此添加到问题]@eloung您可以使用:contains
选择器:$(“.myB:contains('hello2')”)
。但是,它将返回所有将此字符串作为子字符串的元素,但不是所有具有完全相同文本的元素。
$('.one .myB').bind('click', function() {
$(".myB").each(function() {
var $this = $(this);
if ($this.text().trim() === 'hello2')
{
$this.css('background-color', 'red'); // just for example
}
});
});