检查属性值是否包含其中的字符串

时间:2015-01-02 14:29:36

标签: jquery

我有以下代码:

var x = document.getElementById("donor_fieldset_id");
if (x != null) {
    var child = x.childNodes;
    for (var i = 0; i < child.length; i++) {
        if ($j("child[i][id*='" + phiPrefix + "']").length > 0) {
            alert("on load form donorEventHandler()");
            alert("donoorEvent" + document.getElementById("data_entry_completedId"));
            $j('#data_entry_completedId').die();
            $j('#data_entry_completedId').hide();
            break;
        }
    }
}

此处phiPrefix的值已设置为ENCRYPT

我想检查每个子元素是否有ENCRYPT作为字符串的一部分,并带有它的id。 上述检查未获成功。

2 个答案:

答案 0 :(得分:2)

您的测试应该是:

if (child[i].id && child[i].id.indexOf(phiPrefix) != -1)

将变量放在jQuery选择器字符串中不会被元素替换。

答案 1 :(得分:0)

看起来你可以用一个jQuery each循环来实现这个目的:

var elem = $("#donor_fieldset_id");
if (elem) {
    elem.children().each(function() {
         var id = $(this).attr("id");
         if (id.indexOf(phiPrefix) > -1) {
            alert("on load form donorEventHandler()");
            alert("donoorEvent"+document.getElementById("data_entry_completedId"));
         }
    });
}