jQuery不是,不适合我

时间:2015-03-06 20:24:40

标签: jquery

如果以下条件更改了链接,是否在列表中找到了Dog或Cat?

var mtarget = $('#jqwlclink'); //the target link that will change only if dog or cat exist for mlink element.


if (mtarget.length) {

$("#profile-bottom .pleft .mlink").each(function() {
      if (!$(this).is(':contains("Dog"),:contains("Cat")')) {
        mtarget.attr("href", "http://different-page/");
      }
    });

}

由于某种原因,它仍在改变我的目标的href,即使在$(this)中找到了Dog和Cat。

我的HTML看起来像这样..

<div class="pleft">
  <span class="ph3">My Account</span>
  <a class="mlink dots" href="/dog">Item One - Dog</a>
  <a class="mlink dots" href="/cat">Item Two - Cat</a>
</div>

可能会改变的目标的HTML ......

<a id="jqwlclink" href="/initial-page/">Status</a>

感谢您的任何建议

1 个答案:

答案 0 :(得分:0)

我会使用正则表达式(demo):

$(function () {
    var mtarget = $('#jqwlclink'); //the target link that will change only if dog or cat exist for mlink element.

    var dogCatRegexp = /(dog|cat)/i;

    if (mtarget.length) {
        $("#profile-bottom .pleft .mlink").each(function () {
            var txt = $(this).text();
            if (!dogCatRegexp.test(txt)) {
                mtarget.attr("href", "http://different-page/");
            }
        });
    }
});