Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JS检查div中是否有svg标记?_Javascript_Jquery_Html_Svg - Fatal编程技术网

Javascript 如何使用JS检查div中是否有svg标记?

Javascript 如何使用JS检查div中是否有svg标记?,javascript,jquery,html,svg,Javascript,Jquery,Html,Svg,我有一个JS函数,它可以在一些div中循环,查看div标签的旁边是否有问号(在我的应用程序中,这意味着一个问题没有回答),如果找到了,它会显示该字段所需的消息,并在其周围放置一个红色边框,以使其更明显 $( function() { //stuff to do on submit $('#add').submit(function() { const allFields = [ 'dob', 'tob', 'sex', 'weight'];

我有一个JS函数,它可以在一些div中循环,查看div标签的旁边是否有问号(在我的应用程序中,这意味着一个问题没有回答),如果找到了,它会显示该字段所需的消息,并在其周围放置一个红色边框,以使其更明显

  $( function() {
        //stuff to do on submit
        $('#add').submit(function() {
          const allFields = [ 'dob', 'tob', 'sex', 'weight'];

          allFields
            .forEach(nameOfField => {
              $(displayError(nameOfField)).hide();
              $(formField(nameOfField)).removeClass('error-border');
            });

          const listOfFieldsFailedValidation =
            allFields
              .filter(field => {

                //The two lines in question
                const fieldText = $('#' + field + '-display').text();
                return fieldText.indexOf('?') !== -1;

              });

          if (listOfFieldsFailedValidation.length <= 0)
            return true;

          $('html,body').animate({scrollTop:0}, 0);

          listOfFieldsFailedValidation
            .forEach(nameOfFieldFailedValidation => {
              $(displayError(nameOfFieldFailedValidation)).show();
              $(formField(nameOfFieldFailedValidation)).addClass('error-border');
            });

          return false;
        });

});
有人能帮我正确地检查SVG标记是否存在,而不是纯文本问号,同时使用相同的总体功能吗?

使用该方法

$(文档).ready(函数(){
var svg=$(“div”).find(“svg”);
console.log(svg.length)//输出7
});


getElementsByTagName
是一个本地DOM方法,
fieldText
是一个jQuery集合。要么总是使用DOM方法,要么总是使用jQuery方法,但不能同时使用两者。谢谢,这很有意义。所以我真的只是想继续使用JQuery(fieldText),只是在将现有代码更改为运行SVG检查标记而不是文本问号时遇到了问题。
fieldText.find('SVG')。length
 const fieldText = $('#' + field + '-display');
 return fieldText.getElementsByTagName('svg').length > 0;