在YUI中确定是否存在具有特定值的元素

时间:2011-09-08 14:59:42

标签: yui css-selectors

我对jQuery非常熟悉,但是我正在研究YUI中的一个项目,我完全不熟悉它,并且不确定如何实现这个目标。

本质上,如果存在一个包含文本“Inactive”的span元素,我需要显示一个js弹出窗口,并且是一个带有“list_subpanel_cases”类的div的树下几步。

这是一个粗略的例子,但关键是,这是动态构建的,所以我唯一明确的选择器是带有类的div和带有文本值“Inactive”的后代span。

<div class="list_subpanel_cases">
  <table>
    <tbody>
      <tr>
        <td>
          <span>Active</span>
        </td>
      </tr>
      <tr>
        <td>
          <span>Inactive</span>

我需要查明文本“非活动”是否存在任何跨距。

希望这不会太混乱!

1 个答案:

答案 0 :(得分:1)

CSS3选择器似乎无法检查内容(仅属性),因此您必须为候选span标签使用选择器,然后使用代码查看匹配的内容。这是一种方法:

function findInactive() {
    var found = null;
    Y.all(".list_subpanel_cases span").some(function(node, index, nodeList) {
        if (node.getContent() == "Inactive") {
            found = node;
            return(true);   // stop looking for more matches
        }
        return(false);   // keep looking for more matches
    });
    return(found);
}

if (findInactive()) {
    // execute code here when the Inactive span exists
}

你可以在这里看到它:http://jsfiddle.net/jfriend00/BVzqL/