javascript - 按类获取元素 - 使用破折号

标签 javascript jquery css svg

我正在尝试访问页面上给定类名的一些 svg 元素。但是,当类名包含破折号时,它不起作用。有一些变通办法吗?

<svg width="100" height="20" class="123-456">
    <rect width="50" height="20" style="fill:red" />
</svg>
<svg width="100" height="20" class="567-345">
    <rect width="50" height="20" style="fill:red" />
</svg>
<svg width="100" height="20" class="123-456">
    <rect width="50" height="20" style="fill:red" />
</svg>

<br>
    <a href="#" onclick="highlightSVG(123-456)">highlight</a>

JS:

function highlightSVG(conversationid) {
    $('[class="' + conversationid + '"]').css('width','20');
}

这是 fiddle 的链接:http://jsfiddle.net/93FHf/

如果我删除破折号,它会起作用,但在那种情况下,我将不得不更改我元素中的一些命名约定:-/

最佳答案

如果为函数传入的值被引用,它会起作用!

onclick="highlightSVG('123-456')"

您也可以简单地使用类选择器而不是属性选择器:

$("." + conversationid)...

关于javascript - 按类获取元素 - 使用破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301385/

相关文章:

javascript - Highstock 时间序列未在分散工具提示上格式化

javascript - 按另一个相关值对 JavaScript 数组进行排序

javascript - 根据鼠标位置制作动画线稿

php - 我忘记了如何包含PHP文件(比如navbar.php,header.php)

javascript - 将函数调用请求排队 javascript

javascript - 如何动态创建并附加到 DIV?

javascript - 如何使 <li> 在点击时可编辑?

javascript - 从 POST 响应中删除评论标签

css - Href 到特定的 div(在同一页上),只有一个类

css - 没有使用 BluePrint CSS 交替行颜色的 div 内的表格?