Javascript 是否有方法调用Id为getElementById的类?

Javascript 是否有方法调用Id为getElementById的类?,javascript,Javascript,如您所见,我有两个不同的音频文件,对应于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

如您所见,我有两个不同的音频文件,对应于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()">&#x25b6;</button>

▶;
您可以使用jquery:

$("#6\\.1 .straight")[0]
或者如果您坚持使用纯JavaScript DOM:

document.getElementById("6.1").getElementsByClassName("straight");
然而,我不认为这会真正做到你想做的。多个
应该是后备音频源,所有这些音频都包含相同的音频,只是格式不同(例如MP3、Ogg)。HTML指定一种算法,浏览器使用该算法根据浏览器能够播放的内容协商使用哪种替代方案。您不需要任何JavaScript来进行自动协商,浏览器应该自动选择要播放的备选方案


你到底想做什么

符号
用于表示类别选择器,不应在id中使用。因此,选择器
#6.1
将选择id为6且类别为1的元素

与选择器一起使用

document.querySelector('[id="6.1"] .straight').classList.add('green');

document.querySelector('[id=“6.1”].stright').classList.add('green')
.green{
颜色:绿色;
字体大小:粗体;
}
Lorem ipsum door sit amet,concetetur adipsicing elit。福加,unde。
知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利。但是,在最低限度上,我们需要一个实验室来进行日常工作。酒后驾车
这是一种不受欢迎的行为,它是一种不受欢迎的行为。除偶尔因疏忽而死亡外,不得因疏忽而导致动物死亡。

这非常适合
document.querySelector()
document.queryselectoral()

下面是一个简单的例子:

<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>
divone
第二组
var elements=document.querySelectorAll('h1');
元素[0]。innerHTML=“Div One有效!”;
元素[1]。innerHTML=“Div Two Works!”;

另一个优点是可以一次查询多个属性。例如:

<div><p>Paragraph in a Div</p></div>
<script>
    document.querySelector('div p').innerHTML = "it works!";
</script>
Div中的段落

document.querySelector('div p').innerHTML=“它工作!”;
你不能分成两个
元素吗?已经有人用另一种方式问过了:谢谢!我试过这个,但没有成功。不幸的是,当我添加时,将我的按钮代码更改为
,音频文件不再播放。我想知道我做错了什么:)@jennykat:那是因为
播放
方法只存在于
中。我了解浏览器兼容性的多种音频源。这不是我设置类“直”和“摆动”的原因。在本例中,每个音频文件都有两个版本,一个是节奏的“直”版本,另一个是“摆动”版本。(有2个音频文件,mp3和ogg,用于straight和swing,因此每个节奏有4个音频文件。)一旦我调用了音频的初始“straight”版本,我希望用户能够选中一个复选框,让他们在按play时听到swing版本。取消选中该复选框将返回到直接节奏。@jennykat:如果您想支付两个不同的声音,请使用两个不同的
标记。或者,您可以使用JavaScript交换源代码,然后在
标记上调用play。