javascript - 选择具有两个类的元素

标签 javascript selector

<分区>

Possible Duplicate:
How to get elements with multiple classes

正在处理一些 javascript 代码,用于设置引用页面的当前 URL 以传递到 iframe 小部件中。无法控制 javascript 所在页面的代码,除了一位 javascript 代码。

我需要抓取的元素值示例如下:

<div id="new_p_2FRolls-Royce_p_2F2013-Rolls-Royce-Phantom_p_2BDrophead_p_2BCoupe-4a5be12c0a0a00650143b598a45df25d_p_2Ehtm" class="page NEW_VEHICLE_DETAILS current">

我想做的是通过组合类“page”和“current”来选择 div。在此示例中,“NEW_VEHICLE_DETAILS”对于该页面是唯一的,并且在其他页面上有所不同。我想创建一些一致的代码,而不必像当前那样为每个页面进行更改。这是我现在使用的代码:

<div id="build_iframe"></div>
<script>
var pageid = document.getElementsByClassName('NEW_VEHICLE_DETAILS')[0].id;
var currenturl = 'http://m.whateverwebsite.com/index.htm#'+pageid;
var shareurl = escape(currenturl);
document.getElementById('build_iframe').innerHTML = '<iframe style="border:1px;width:100%;height:110px;" src="http://widget.mywidgetwebsite.com/share-tool/?current_url='+shareurl+'"></iframe>';
</script>

在这种情况下,jQuery 不是一个选项。如何通过仅选择同时设置了“页面”和“当前”类的元素来获取 ID 的值?

最佳答案

你可以使用 querySelector (或 querySelectorAll,如果有多个匹配元素并且您想获得对所有元素的引用):

var elem = document.querySelector(".page.current");

您实际上也可以只使用 getElementsByClassName , 它接受以空格分隔的类名列表:

var elems = document.getElementsByClassName("page current");

关于javascript - 选择具有两个类的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13672800/

相关文章:

java - NIO - 如何使 SelectionKey 对 NO opts 感兴趣

javascript - PHP 表单从弹出窗口重定向

c# - 使用 invokescript 将 bool 值从 javascript 传递到 C#

javascript - IE6 显示以下给定函数的 JavaScript 错误,并且下面还提到了错误

JQuery表单回调函数

jquery 选择器 : detect deviant class

javascript - 包括相对于网站根目录的JS和CSS文件

javascript - Nuxt.js + vuetify 图像未加载

Jquery 多重选择器标准与 Internet Explorer