【问题标题】:Replacing innerhtml for a specific div that shares the same id as other divs?替换与其他 div 具有相同 id 的特定 div 的 innerhtml?
【发布时间】:2013-04-09 06:21:02
【问题描述】:

所以我做了相当多的研究,但仍然没有让这个工作。我正在尝试替换 div 的 innerhtml。我已成功使用以下代码:

<script type="text/javascript">
    var embedCode = 'new html goes here';
</script>


<div id="videocontainer">
<img class="playButton" onclick="document.getElementById(videocontainer).innerHTML = embedCode;return false;" src=""/>
</div> 

这基本上是一个帖子模板,我将复制和粘贴它,只更改图像/嵌入代码。如果我只有 1 个帖子,所有工作都有效。但是一旦我添加另一个帖子,两者都将无法工作,因为它们都共享相同的 embedCod 名称和相同的 div id。有没有不使用 jQuery 的解决方案?

我尝试过使用

document.getElementById(this.id).innerHTML = embedCode

而不是

document.getElementById(videocontainer).innerHTML = embedCode

但它仍然无法正常工作。谢谢。

【问题讨论】:

  • id 应该是唯一的。只需增加一个计数器或使用帖子 ID 作为id 属性的一部分。
  • 也许用引号document.getElementById("videocontainer").innerHTML = //etc
  • @MarkParnell - 如果我要使用帖子 ID 作为 id 属性的一部分,那么我将如何更改每个 id 的 css?我是否应该像
    这样将 css 添加到行中,这样我就可以在博客继续增长时复制和粘贴相同的文本?
  • 所以我正在尝试使用 Mark 的建议,但我现在遇到了一个 css 问题。每个帖子的图像 css 必须相同。我目前在我的 CSS 中使用 #divID .imageClass {style}。由于 divID 现在是动态的,我所有的图像 css 将不再工作。有没有比为每个帖子动态制作样式表更简单的方法?
  • 没人有其他解决方案吗?

标签: html onclick innerhtml


【解决方案1】:

id 应该是唯一的。只需增加一个计数器或使用帖子 ID 作为id 属性的一部分。

为了便于样式化,也给它们添加一个类,例如&lt;div class="videocontainer" id="videocontainer1"&gt;。使用该类进行样式设置,并为您的 JS 使用 id。

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签