Я использую эту функцию для отображения и скрытия объектов. Я думаю, причина в том, что это не работает, потому что я не правильно выбираю объект.Как использовать функцию переключения JQuery для переключения видимости группы прямоугольников?
function generalHideOrShow(element)
{
if (element instanceof Element)
{
//single element passed
element = [element]; //mimic node list
}
if(element.length && element.length > 0 && element[0] instanceof Element)
{
//node list
for (var i = 0; i < element.length; ++i)
{
if (element[i].getAttribute("data-hidden") == "true")
{
$(element[i]).removeClass("hidden");
element[i].setAttribute("data-hidden", false);
}
else
{
element[i].setAttribute("data-hidden", true);
$(element[i]).addClass("hidden");
}
}
}
else
{
return false;
}
}
d3.selectAll("#button1").on("click", function(){
generalHideOrShow($("#buttonsRight")); //selection
});
var buttons = d3.select("#svg").append("g").attr("id", "buttons");
var buttonsRightTop = buttons.append("g").attr("id", "buttonsRightTop");
var buttonsRight = buttonsRightTop.append("g").attr("id", "buttonsRight");
Я хочу выбрать 'buttonsRight', как указано выше.
Когда я меняю его, чтобы выбрать все теги «div», чтобы проверить его, он работает.
generalHideOrShow ($ ("div")); // Выбор
Я пробовал разные способы выбора его типа:
generalHideOrShow($(buttonsRight)); //selection
generalHideOrShow($(".buttonsRight")); //selection
generalHideOrShow($("g#buttonsRight")); //selection
Никто не работает. Как выбрать эти правые боковые кнопки?
Вы передаете объект JQuery функции 'generalHideOrShow', который не является экземпляром' Element', попробуйте 'generalHideOrShow ($ («.buttonsRight»). get()); ' –