node
ve link
sınıflarıyla birlikte bir dizi SVG öğesi var. Programım, bir öğenin SVG öğelerinin herhangi birinin üzerine geldiğinde node
sınıfına veya link
sınıfına sahip olup olmadığını algılamalıdır. Ancak, bazı nedenlerden dolayı, .hasClass()
çalışmak görünmüyor:jQuery .hasClass() yöntemi, SVG öğeleri için başarısız oluyor
$(".node").hover(function(evt){
console.log($(this).attr("class")); //returns "node"
console.log($(this).hasClass('node')); //returns false
}, function(){console.log("Done");});
Yani üzerinde süpürdü eleman sınıfını node
vardır ve console.log($(this).attr("class"));
ile gösterildiği gibi jQuery da olduğunu tespit ama nedense gerçek için .hasClass()
başarısız. Bu neden? SVG yüzünden başarısız mıdır?
sadece bir yan not, sen) 'eksik; (sonunda' :) ve [benim için iş gibi görünüyor] http://jsfiddle.net/hungerpain/V4BNT /) – krishgopinath
İlginç ... '$ (this) .attr ("class") 'a eşit bir değişken ayarlamayı deneyin ve o halde" hasClass "öğesini kullanın. Hala yanlış mı? – tymeJV
SVG içindeki öğeler gerçekten HTML değildir ve bu öğelerden eksik özellikler vardır, bu nedenle özniteliğin işe yaraması, ancak className özelliğini muhtemelen kontrol eden hasClass kullanımı, çalışmaz. – adeneo