gpt4 book ai didi

javascript - 如何使用 JavaScript 检查 div 中是否有 svg?

转载 作者:太空宇宙 更新时间:2023-11-04 13:45:26 25 4
gpt4 key购买 nike

我有一个如下所示的带有问号的 div...

<div id="mydiv">?</div>

在我的代码中,当有人尝试提交表单时,我会检查该字段中是否有问号,如下所示:

const fieldText = $('#mydiv').text();
return fieldText.indexOf('?') !== -1;

这很好用,但是现在,我有一个问号的 SVG(而不是文本问号),而不是那个 div 中的问号,就像这样。

<div id="mydiv">
<svg version='1.1' id='Layer_1' class='q-mark-svg' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 50 50' style='enable-background:new 0 0 50 50;' xml:space='preserve'>
<style type='text/css'>
.q-mark{fill:#777777;}
</style>
<g>
<g>
<path class='q-mark' d='M18.3,17.2c0,0.4-0.1,0.7-0.2,1c-0.1,0.3-0.3,0.6-0.5,0.8c-0.2,0.2-0.5,0.4-0.8,0.5c-0.3,0.1-0.6,0.2-1,0.2 c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.5-0.7-1.1-0.7-1.8c0-1.6,0.3-3.2,0.9-4.6c0.6-1.4,1.5-2.7,2.6-3.8s2.3-1.9,3.8-2.5 c1.4-0.6,3-0.9,4.6-0.9s3.1,0.3,4.6,1c1.4,0.6,2.7,1.5,3.8,2.6s1.9,2.3,2.6,3.8c0.6,1.4,0.9,2.9,0.9,4.5c0,3.2-1.2,6-3.5,8.4 l-3.8,3.5c-1.3,1.3-2,2.7-2,4.3c0,0.7-0.2,1.3-0.7,1.8c-0.5,0.5-1.1,0.7-1.8,0.7s-1.3-0.2-1.8-0.7c-0.5-0.5-0.7-1.1-0.7-1.8 c0-2.9,1.2-5.6,3.5-7.9l3.8-3.6c1.3-1.4,2-2.9,2-4.8c0-0.9-0.2-1.8-0.5-2.6c-0.4-0.8-0.8-1.5-1.5-2.1c-0.6-0.6-1.3-1.1-2.1-1.5 c-0.8-0.4-1.7-0.5-2.6-0.5c-0.9,0-1.8,0.2-2.6,0.5c-0.8,0.4-1.5,0.8-2.1,1.4c-0.6,0.6-1.1,1.3-1.4,2.1 C18.5,15.3,18.3,16.2,18.3,17.2z M28.5,40.9c0,1-0.3,1.8-1,2.5c-0.7,0.7-1.5,1-2.5,1c-1,0-1.8-0.3-2.5-1c-0.7-0.7-1-1.5-1-2.5 c0-1,0.3-1.8,1-2.5c0.7-0.7,1.5-1,2.5-1c1,0,1.8,0.3,2.5,1C28.2,39.1,28.5,40,28.5,40.9z'/>
</g>
</g>
</svg>
</div>

我仍然想检查那个 div,但现在我必须检查它是否有 SVG,而不仅仅是“?”。如何使用 JS 检查 div 中是否包含 svg 元素?

仅供引用,我尝试了以下方法,因为我认为它仍会查找文本,但无济于事......

const fieldText = $('#mydiv').text();
return fieldText.indexOf('svg') !== -1;

最佳答案

jQuery 在这里有点矫枉过正。您可以使用 vanilla javascript 和 getElementsByTagName 返回特定元素内匹配元素的数组。然后您可以测试返回数组的长度(0 在条件中用作 false)。

例如两个测试,一个在div中有svg,一个没有:

var t1 = document.getElementById('test1');
var t2 = document.getElementById('test2');

// Used in a simple conditional statement
if (t1.getElementsByTagName('svg').length) {
console.log('test1 has svg');
}
if (t2.getElementsByTagName('svg').length) {
console.log('test2 has svg');
}
<div id='test1'></div>
<div id='test2'><svg></svg></div>

关于javascript - 如何使用 JavaScript 检查 div 中是否有 svg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47321308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com