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/contents
hello2
作为一个数组,并让我遍历它们

$('.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
        }
    });
});