JavaScript - 为什么我的函数不能容纳超过几个字符的内容?

标签 javascript html

<script>
    function hover(description) {
        console.log(description);
        document.getElementById('pricehover').innerHTML = description;
    }
</script>

我正在使用上面的脚本创建一个列表,其中提供有关出现在列表右侧的悬停信息。我在 HTML 内的列表项上使用以下内容。

<li class="pricegrid" onmouseover="hover('<h1>100 Euros</h1> <br> <p>Pricing includes etc etc</p>')">Pedicure Behandling</li>

并且描述被添加到下面的div

<div id="pricehover">Hover over the items to the left to see the price and description.
</div>

我的问题是,当我想要(如果可能的话)使用整页的描述(包括图像)来完全设计 div 内容时,我的描述不能包含多个字符。谁能解释为什么这不起作用或不可能,也许给我一种方法来做我想做的事?

谢谢。

编辑:我在这里做了一支笔。 http://codepen.io/anon/pen/YXwwag

最佳答案

您可以将要在 li 元素本身内显示的内容(任何 HTML 标记)隐藏在隐藏的 div 中,然后在悬停时将其交换到右侧的 div 中。

Codepen 从你的 fork - http://codepen.io/anon/pen/doGXeV

HTML(更改li)

<li class="pricegrid" onmouseover="hover(this)">Pedicure Behandling<div><h1>100 Euros</h1> <br> <p>Pricing includes etc etc</p></div></li>

JavaScript(更改悬停)

function hover(t) {
    document.getElementById('pricehover').innerHTML = t.childNodes[1].innerHTML;
}

CSS(隐藏类) - 您也可以将其添加到 li 内部 div 的内联样式中,但这会很困惑。

.pricegrid > div
{
  display: none;
}

关于JavaScript - 为什么我的函数不能容纳超过几个字符的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30122905/

相关文章:

javascript - 有没有办法监听 Web Audio AudioParam 的更改?

javascript - jquery中的鼠标悬停元素

javascript - YUI 事件和链接

javascript - 使用 jquery 获取点击的元素 id

javascript - 为什么我节点的样式只会减少不会增加?

javascript - JQM : $. mobile.changepage 未加载外部 .JS 文件

html - 单击滚动条时,Chrome 悬停状态消失

javascript - 如何在 ReactJS 的父组件上设置事件监听器?

javascript - 如何为创建的 div 设置类名

html - 填充 flex 布局不能不破坏宽度列吗?