Javascript 在单击时更改 div 内容

标签 javascript onclick swap html

我正在从 PHP 数组中提取内容,我遇到了这样的情况:

 <div class="weight-display">
 <span>04/25/2011</span> <span>100lbs</span> <span>Edit</span> <a href="http://foo.com">Delete</span>
 </div>
 <div class="weight-display">
 <span>04/27/2011</span> <span>150lbs</span> <span>Edit</span> <a href="http://foo.com">Delete</span>
 </div>
 etc...

现在,当有人在其中单击“编辑”时,比方说,第一个重量为 100 磅的 div,我只需要更改“div”并具有输入字段而不是重量为的简单文本(而其他将保持不变)并且要像这样:

<div class="weight-display">
<span>04/25/2011</span> <input type="text" value="100" /> <span>Save</span> <span>Cancel</span>
</div>
<div class="weight-display">
<span>04/27/2011</span> <span>150lbs</span> <span>Edit</span> <a href="http://foo.com">Delete</span>
</div>
etc..

所以基本上 div 必须“重新加载自身”并更改内容。现在我真的需要一些非常简单的 Javascript 解决方案。最好我想要一个在原始 div 下面有一个隐藏 div 的解决方案,这样当用户单击 EDIT 时它们就交换位置,如果按下 CANCEL 再次交换位置,那么显示带有文本的原始 div ...

谢谢, 彼得

最佳答案

<style type="text/css">
    /* Normal mode */
    .weight-display div.edit {display:none}
    /* Editor mode */
    .weight-edit div.show {display:none}
</style>
<div class="weight-display">
    <button onclick="toggle(this)">Edit this!</button>
    <div class="edit"><input type="text" value="Test" /></div>
    <div class="show">Test</div>
</div>
<script type="text/javascript">
    function toggle(button)
    {
        // Change the button caption
        button.innerHTML = button.innerHTML=='Edit this!' ? 'Cancel' : 'Edit this!';
        // Change the parent div's CSS class
        var div = button.parentNode;
        div.className = div.className=='weight-display' ? 'weight-edit' : 'weight-display';
    }
</script>

关于Javascript 在单击时更改 div 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5862489/

相关文章:

c++ - 使用声明隐藏名称

javascript - 从 $routeProvider 访问 Controller

javascript - 如何创建具有二维数组的函数并在同一位置添加元素?

javascript - axios 无法在 Samsung Tizen 电视上运行,但在模拟器中运行良好

delphi - TButtonItem 的 OnClick 返回 TCategoryButtons 的 Sender

c - 反向函数总是给我错误

javascript - 确定何时加载 IFrame 的内容

java - 如何正确调用列表项子项的onClick方法?

javascript - 如何从复选框 onclick 或 onchange 调用函数

python - Python 中 numpy 数组上交换行的表示法