jQuery中的contentDocument

use*_*135 7 javascript jquery svg

我有以下js脚本来访问对象内的元素(SVG - <object data="bbbbbb.svg" type="image/svg+xml" id="alphasvg" width="100%" height="100%"></object> )

jQuery(document).ready(function($) {

    $(window).load(function () {


        var a = document.getElementById("alphasvg");
        var svgDoc = a.contentDocument; 
        var delta = svgDoc.getElementsByTagName("path");    
        $(delta).click(function() {

            //do stuff

        })

    });
});
Run Code Online (Sandbox Code Playgroud)

我想使用jQuery来访问元素和标签.我完全停留在contentDocument部分.我如何将其转换为jQuery,以便我可以使用attr等?

我希望能够访问和修改jQuery中的属性,而不必使用我不熟悉的传统js方法.

有人可以帮我吗?

太感谢了.

Gar*_*een 5

您应该能够像元素一样直接访问路径,不需要contentDocument或getElementsByTagName等:

jQuery(document).ready(function($) {

    $(window).load(function () {

        $("#alphasvg path").click(function() {

            //do stuff
            // $(this).attr('d') = the path

        })

    });
});
Run Code Online (Sandbox Code Playgroud)


Sal*_*n A 5

像这样:

$(svgDoc).find("whatever").doWhatever();
Run Code Online (Sandbox Code Playgroud)

在这里演示编码.请注意,我已经使用了<iframe>演示,因此第一个URL将起作用,如果您尝试运行小提琴,第二个将给您"权限被拒绝"错误.