0

我有一个名为“测试”的 div。此 div 可以在同一页面上出现一次或多次,其中包含 1 个或多个标签。例如,一页可能有

<div class="testing">
   <span>hello</span>
</div>

或者另一个页面可能有

<div class="testing">
   <span>hello</span>
   <span>hello again </span>
</div>

我想在“测试” div 上运行 jQuery 函数,条件如下:

  • 如果“测试” div 包含多个跨度标记,我只希望该函数运行。
  • 我只希望函数在包含多个跨度标记的“测试”div 上运行。

我将如何做到这一点?

4

6 回答 6

2

在提问之前,请尝试发布您已有的代码。照这样说...

$('div.testing span').length

这将返回带有类测试的 div 内的 span 元素的数量。

于 2013-02-21T18:14:52.753 回答
0

把它放在你的函数中:

if($('.testing span').length > 1) { /* relevant code here */ }
于 2013-02-21T18:14:44.367 回答
0
  1. 编写你的函数
  2. 检查测试中的跨度数(提示if($('.testing').children('span').length:)
  3. 在 if 语句的“then”部分运行相应的函数
于 2013-02-21T18:15:34.187 回答
0

尝试这个

 if($('.testing span').length > 1) { 

 }
于 2013-02-21T18:18:11.447 回答
0

试试这个。将背景设置为红色的部分替换为您想要执行的任何操作。

$(".testing").each(function(index, value) { 
    var spans = $(this).find("span");
    if(spans.length > 1){
        $(this).css("background-color", "red");
    } 
});
于 2013-02-21T18:23:44.113 回答
0

您想要的条件是相同的,因此对于 1 个条件,您可以执行以下操作:

if($('.testing span').length > 1) console.log('more than one');

带有函数的示例

if($('.testing span').length > 1) myFunction();
于 2013-02-21T18:25:07.717 回答