有没有办法通过jQuery从SVG中的所有元素中删除一个类,然后只将一个类添加到一个特定的ID?
我试图通过ID切换SVG中的元素,但我不知道确切的ID,因为它将来自数据ID。
JQUERY
var amenityid = $(this).attr("data-id");
$('.amenitypage svg').removeClass("highlight");
$('.amenitypage svg #' + amenityid).addClass("highlight");
更新:这似乎对我有用。如果我指定通过折线和多边形去除。
$('.amenitypage svg polyline,.amenitypage svg polygon').removeClass("highlight");
$('.amenitypage svg #' + amenityid).addClass("highlight");
答案 0 :(得分:0)
如果您从svg中删除所有元素,那么一旦删除它们就无法找到适合的ID。
如何清空svg标签内的所有内容,请执行以下操作。
$('.amenitypage svg').html('');
答案 1 :(得分:0)
如果您只想删除$('.highlight').removeClass("highlight");
课程,那么只定位该课程而不是定位该元素本身可能是最简单的方式:
$('#myElement .highlight').removeClass("highlight");
如果你在svg之外的其他元素中有突出显示的类,你可以将你的svg包装成id并定位id的突出显示类
local money = game.Players.LocalPlayer.Money
local player = game.Players.LocalPlayer
function Check()
if money < 3000 and money > 0 then
local House = script.Parent.Houses.Crate:Clone()
House:MoveTo(player.Homeloc.Value)
end
这是一个小提琴Fiddle Demo
答案 2 :(得分:0)
这是一个老问题,但只是想出了如何做。如果要从SVG中的多个路径元素中删除该类,则可以使用.each和this.classList.remove。
示例:
$(".map-path").each(function( index ) {
this.classList.remove("selected");
});