如何使用jquery更改标记名称?我使用HTML5,我正在使用内置的svg标签。我内心有一个圆圈标记。
<svg id="svgelem" height="500" xmlns="http://www.w3.org/2000/svg">
<circle id="shape" cx="600" cy="250" r="250" fill="red"/>
</svg>
我想使用jquery事件“click”来制作它,而不是当我点击页面的主体时它将检查页面上的形状(即:svg标签内的标签的标签名称) 。如果它是一个圆圈,我将擦除圆形标记并制作一个矩形,如果是一个矩形,我将制作一个多边形(即:三角形)。但我没有找到任何人解释我如何检查这一点。
答案 0 :(得分:2)
你做不到。您需要删除并替换新标签。
答案 1 :(得分:2)
好吧,如果你知道这将是有限数量的东西之一,你可以做这样的事情:
function handle($el) {
if ($el.is("circle")
$el.replaceWith("<rect id='shape'>");
else if ($el.is("rect")
$el.replaceWith("<poly id='shape'>");
// etc...
}
function setHandler() {
$("#shape").unbind().click(function() {
handle($(this));
setHandler();
}
}
setHandler();
但是,你会丢失所有属性,如cx,cy等。所以那些需要存储在handle
的开头,然后重新应用到新元素。