11

可能重复:
如何获取具有多个类的元素

处理一些 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">

我正在尝试做的是通过组合类“页面”和“当前”来选择 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 的值?

4

1 回答 1

25

您可以使用querySelector(或者querySelectorAll如果有多个匹配元素并且您希望获得对所有这些元素的引用):

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

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

var elems = document.getElementsByClassName("page current");
于 2012-12-02T19:21:56.443 回答