【问题标题】:checking if data-val-required exist检查 data-val-required 是否存在
【发布时间】:2016-05-30 12:52:53
【问题描述】:

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

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

但这不起作用,因为我总是在控制台 attrExist as 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;">

【问题讨论】:

  • id="myElem" 是什么元素。它是否包含包含data-val-required 属性的子元素(或者元素本身是否包含该属性)?

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


【解决方案1】:

如果存在具有data-val-required 属性的元素,您的代码中的问题是find() 函数看起来inside #myElem

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

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

作为替代方案,您可以查看是否有任何元素同时具有 id 和属性(通过使用 id 和属性选择器)。这种解决方案在使用类时最有意义。

if( $('#myElem[data-val-required]').length > 0 ) {
    // element with that attribute exists
}

【讨论】:

    【解决方案2】:

    你可以的,

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

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

    【讨论】:

      猜你喜欢
      • 2017-05-29
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多