【发布时间】:2018-02-07 14:17:34
【问题描述】:
我正在开发一个网站,该网站是一本书的在线版本。这本书有很多版本,所以网站使用可变分页来处理不同的版本——用户选择他的版本,页码就会出现。
页面以 HTML 标记编码。所以,例如:
text
<span id=ed19xxpgxxx> </span>
text 2
其中 span 标签的 id 是版本和页码。对于每个版本中的每个分页符,都会重复此操作。
现在,我需要做的是能够获取以我正在使用的版本开头的所有 ID,例如 ed1939。然后我需要获取与 ID 连接的每个页码并插入该页码。我在想的是找到所有这些字符串,从它们中删除页码信息,然后将它们插入到 HTML 中。根据我的研究(1,2)我认为我需要使用querySelectorAll。但我不是很有经验,我不知道该怎么做。到目前为止,我看到的所有参考资料都只涉及选择具有公共起始字符串的 id,而不是操纵它们。
目前使用的解决方案是在很长的 if 块中为 每个唯一的 id 使用 document.getElementById,这可能会得到改进。
【问题讨论】:
-
如果那些
spans 有一个共同的类,你可以在一次滑动中选择它们,然后操作它们。 -
由于您正在寻找的原因,当前的设置远非最佳,这对您来说可能不会成为新闻。如果您有数据属性,例如 - 一个用于版本,一个用于页面,则可以避免这种情况,而不必解析 ID 字符串。
-
我同意 Federico klez Culloca 的观点,为您的每个跨度设置一个共享类会更简单。
-
如果我确实让所有
spans 都有一个类(这不会那么难,有多个游标),那么我将如何从 id 中获取页码?跨度> -
<span class='pagebreak' data-edition='ed1939' data-page='1'>,例如。
标签: javascript html