tôi sẽ thêm một yếu tố SVG bằng cách nhấp vào nút:Làm thế nào để thêm một yếu tố SVG trong thời gian chạy - Góc
myApp.directive('addRectangle', function() {
return function(scope, element, attr) {
element.bind('click',function() {
scope.rectCount++;
angular.element(document.getElementsByClassName('svgMain')).append('<circle r=5 cx=200 cy=200 fill=red data-scope='+scope.rectCount +' />');
});
}
});
Yếu tố sẽ được bổ sung một cách chính xác như tôi mong đợi, nhưng vấn đề là nó là không hiển thị ở vị trí liên quan! Tôi đã kiểm tra html nguồn của trang và tôi hoàn toàn chắc chắn về điều đó. Đây là câu hỏi của câu hỏi này: jsfiddle
Ngoài ra, tôi đang sử dụng angular
phiên bản 1.4.x
.
Có lẽ phụ lục đang đặt dữ liệu vào không gian tên sai tương tự với vấn đề jquery này http://stackoverflow.com/questions/3642035/jquerys-append-not-working-with-svg-element –
@RobertLongson Tôi thêm xmlns = "http://www.w3.org/2000/svg" thuộc tính cho cả phần tử svg và circle nhưng không có sự khác biệt trong kết quả. –
Sẽ không có. Bạn cần phải sử dụng createElementNS lý tưởng hoặc nếu không innerHtml sẽ làm việc trong nhiều (nhưng không phải tất cả UAs). –