【发布时间】:2013-05-29 20:13:33
【问题描述】:
我有这个:
<button type="button" id="btn" value="Release">Click Here!</button>
...
<body>
<object data="books.svg" type="image/svg+xml" id="svg" width="1300" height="700"></object>
</body>
<script>
var a = document.getElementById("svg");
var svgDoc
a.addEventListener("load", function() {
svgDoc = a.contentDocument;
}, false);
$(window).load(function() {
console.log($(svgDoc).find("#book1").attr("fill"))
});
$(document).ready(function() {
$("#btn").click(function() {
console.log("You are here")
$(svgDoc).find("#book1").attr("fill","#000000")
})
})
$(window).load(function() { 有效,但是
$(document).ready(function() {
$("#btn").click(function() {
... 没有。这是为什么呢?
编辑:添加更多代码
编辑#2:让它工作。听从罗伯特朗森的建议并改变了这一点:
$(document).ready(function() {....})
到这里:
a.addEventListener("load", function() {...}, false);
jQuery:
$("#btn").on('click', function() {...}
【问题讨论】:
-
在设置
fill属性后执行console.log($(svgDoc).find("#book1").attr("fill"))会发生什么? -
您遇到错误了吗?
-
尝试将
;添加到click函数以及$(document).ready的末尾? -
没有错误。在控制台上打印出:#BDCDD1
-
@ckpepper02 没用
标签: javascript jquery html web-applications svg