有没有一种方法可以用getElementById调用Id中的类
Is there a way to call a class within an Id with getElementById?
正如您所看到的,我有两个不同的音频文件,它们对应于id="6.1"。有没有一种方法可以使用getElementById来只调用id内容的"直"类?我知道你可以在Id中调用内的选项。我尝试过"document.getElementById('6.1').options[0].text.play()",但没有成功。(很明显,我是这方面的新手。)有人有什么建议吗?
<audio id="6.1" preload='none'>
<source class="straight" src='audio/6.1.mp3' type='audio/mpeg' />
<source class="swing" src='audio/swing/6.1.mp3' type='audio/mpeg' />
</audio>
<button onclick="document.getElementById('6.1').play()">▶</button>
.
表示法用于表示类选择器,不应在id中使用。因此,选择器#6.1
将选择id为6和类1的元素。
将querySelector与attribute=value选择器一起使用。
document.querySelector('[id="6.1"] .straight').classList.add('green');
演示
document.querySelector('[id="6.1"] .straight').classList.add('green');
.green {
color: green;
font-weight: bold;
}
<div id="6.1"> <span class="straight">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga, unde.</span>
<span class="swing">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span>
</div>
您可以使用jquery:
$("#6''.1 .straight")[0]
或者,如果您坚持使用纯JavaScript DOM:
document.getElementById("6.1").getElementsByClassName("straight");
然而,我不认为这会真正做到你想做的。多个<source>
应该是后备音频源,所有这些都包含不同格式的相同音频(例如MP3、Ogg)。HTML指定了一种算法,浏览器使用该算法根据浏览器的播放能力协商使用哪种替代方案。你不需要任何JavaScript来进行自动协商,浏览器应该自动选择播放哪个替代方案。
你到底想做什么?
这非常适合document.querySelector()
或document.querySelectorAll()
这里有一个简单的例子:
<h1>Div One</h1>
<h1>Div Two</h1>
<script>
var elements = document.querySelectorAll('h1');
elements[0].innerHTML = "Div One Works!";
elements[1].innerHTML = "Div Two Works!";
</script>
演示
另一个优点是可以同时查询多个属性。示例:
<div><p>Paragraph in a Div</p></div>
<script>
document.querySelector('div p').innerHTML = "it works!";
</script>
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 调用函数内部的函数
- 函数未在Object.keys或Object.getOwnPropertyNames下列出,但可以调用
- Javascript/jQuery中的并行Ajax调用
- 同步调用,直到用户通过angular验证为访问者