Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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 使用jQuery获取SVG中锚定的href值_Javascript_Html_Jquery_Svg - Fatal编程技术网

Javascript 使用jQuery获取SVG中锚定的href值

Javascript 使用jQuery获取SVG中锚定的href值,javascript,html,jquery,svg,Javascript,Html,Jquery,Svg,我正在使用jQuery以我创建的SVG图像中的锚元素为目标,以获取分配给锚元素的href值。然后,我尝试打开和关闭一段内容,该内容的HTML ID与锚元素的href相同 jQuery(文档).ready(函数($){ $('.ghb_toggle').hide() $('object')。在(“加载”(evt)=>{//等待页面已完全加载 const svg_doc=$(“对象”)[0].contentDocument; $('a[xlink\\\:href^=“#”]”,svg_doc) .

我正在使用jQuery以我创建的SVG图像中的锚元素为目标,以获取分配给锚元素的href值。然后,我尝试打开和关闭一段内容,该内容的HTML ID与锚元素的href相同

jQuery(文档).ready(函数($){
$('.ghb_toggle').hide()
$('object')。在(“加载”(evt)=>{//等待页面已完全加载
const svg_doc=$(“对象”)[0].contentDocument;
$('a[xlink\\\:href^=“#”]”,svg_doc)
.on(“单击”,evt)=>{
target=evt.currentTarget.href;
console.log(target);//用于调试目的
$(target.toggle();
});
});
});

内容1
内容2

MDN文档中的content3

SVGAnimatedString.animVal只读这是一个表示 动画值。如果给定的属性或属性是 动画它包含属性或属性的当前动画值 财产。如果给定的属性或属性当前未被 已设置动画,它包含与baseVal相同的值

SVGAnimatedString.baseVal这是一个表示基的DOMString 价值应用任何属性之前给定属性的基值 动画

因此,您成功地获得了所需的信息,但它看起来像一个包含两个条目的对象。尝试使用target.baseVal提取实际目标值


(很抱歉,我无法在实际系统上测试此功能)。

jQuery设计用于HTML,而不是SVG。有时候jQuery确实可以工作(当SVG和HTML以相同的方式运行时)。通常不会。在代码段中,没有任何
标记,也没有任何带有
href
的节点。您可以更新代码片段来演示问题吗?一个示例来演示问题,而不是整个SVG。请阅读。
svganizatedstring{baseVal:“#排水沟落水管”,animVal:“#排水沟落水管”}
不是jquery选择器的有效条目-如果您使用
.href
获得该条目,请尝试
href.baseVal
相关,但可能不是直接重复:叮叮叮叮!非常感谢你!这很有魅力。