Javascript 如何使用JS检查div中是否有svg标记?
我有一个JS函数,它可以在一些div中循环,查看div标签的旁边是否有问号(在我的应用程序中,这意味着一个问题没有回答),如果找到了,它会显示该字段所需的消息,并在其周围放置一个红色边框,以使其更明显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'];
$( 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;