如何访问svg内部id并让CSS更改该id的填充颜色
How to access an svg inner id and have CSS change the fill color of that id?
这是我的svg文件
下一个svg
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="style.css"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<g class="next">
<g>
<polygon fill="#FFD92D" class="inner" points="20.587,5.055 78.706,48 20.587,90.945"/>
<path fill="#FF9900" class="outer" d="M21.623,7.11L76.961,48L21.623,88.89V7.11 M19.55,3v90l60.9-45L19.55,3L19.55,3z"/>
</g>
</g>
</svg>
这是我显示svg 的基本html
<div>
<object id="objsvg" class="svgbtn" type="image/svg+xml" data="next.svg" onclick="changeSVGColor()"></object>
</div>
这是我的style.css文件
.inner {
fill: #000000;
}
.inner-new-color {
fill: #ff00ff;
}
这是我在svg文件中更改.intern颜色的基本jQuery。我做错了什么?
由于$("#objsvg").hasClass("inner");返回false。
function changeSVGColor() {
$("#objsvg").removeClass("inner");
$("#objsvg").addClass("inner-new-color");
}
选择要按类更改的部分。$(".inner")
$(".inner").removeClass("inner").addClass("inner-new-color");
Fiddle 示例
ID在父对象或"对象"上不起作用,您需要用类似于高级文本的东西打开SVG,并为您试图操作的任何路径添加id="objsvg"
。
例如
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
<g class="next">
<g>
<polygon fill="#FFD92D" class="inner" points="20.587,5.055 78.706,48 20.587,90.945"/>
<path id="objsvg" fill="#FF9900" class="outer" d="M21.623,7.11L76.961,48L21.623,88.89V7.11 M19.55,3v90l60.9-45L19.55,3L19.55,3z"/>
</g>
</g>
</svg>
查看更新的js fiddle,也打开你的控制台jsfiddle.net/xaLkvc27/12
相关文章:
- 如何仅为某些类或id导入CSS
- 如何访问svg内部id并让CSS更改该id的填充颜色
- 如何使用随机css id为元素设置样式
- css样式加载+id.例如加载1、加载300
- 仅将 CSS 规则应用于
中的第一个 ,而不分配类/ID - Ember.js为特定的模型id添加css类
- 使用Jquery更改css样式适用于id's、 不在课堂上
- 如何在一个表的输入中搜索一组特定的值,而不是另一个表's id(s)值以添加css
- CSS/Javascript带有类's和id's
- 使用CSS/JavaScript在活动页面上突出显示活动导航菜单项,无id
- 动态更改 CSS 中的“onlink”ID
- 使用内部脚本更改表单元格 css,而不依赖于 id、类或包含
- 如果我声明 CSS 中的 id 复制到 Javascript 中的 id 会发生什么
- jQuery对象不是从CSS #id 形成的
- 来自 CSS ID 的百分比变量
- 根据屏幕宽度添加/删除 CSS ID
- 添加/删除 CSS 类属性以尊重不基于 Div id 的类
- 如何使用 jquery 通过 CSS 隐藏来选择 col id
- 使用 JavaScript 在 iframe 中通过 ID 更改元素的 CSS 样式
- TinyMCE和id css被忽略