检查是否存在data-val-required

时间:2016-05-30 12:52:53

标签: javascript c# jquery .net asp.net-mvc

在js脚本里面我试图识别某些元素上是否存在data-val-。

var attrExist = $('#myElem').find('[data-val-required]');
    if (attrExist.length > 0){
            // todo
    }

但这不起作用,因为我总是在控制台attrExist中作为Object []。

如何测试data-val-required attr是否存在?

更新: 渲染的html看起来像

<select id="myElem" class="multiselect form-control" name="someName"
         multiple="multiple" data-val-required="This field is required." 
         data-val="true" style="display: none;">

2 个答案:

答案 0 :(得分:1)

你可以,

if ($('#myElem[data-val-required]').length > 0)

您的代码将检查具有data-val-required属性

的子元素

答案 1 :(得分:1)

代码中的问题是,如果存在具有(?!(?:.*? ){3,})属性的元素,则find()函数在 #myElem内看

因此,如果您想检查data-val-required是否具有属性#myElem,请使用:

data-val-required

作为替代方案,您可以查看是否有任何元素同时具有id和属性(通过using,id和attribute selector)。使用类时,此解决方案最有意义。

var dataAttr = $('#myElem').data('val-required');
//var dataAttr = $('#myElem').attr('data-val-required'); // alternative
if (typeof dataAttr !== typeof undefined && dataAttr !== false) {
    // attribute is set
}