JavaScript setAttribute 到另一个元素

标签 javascript element extern setattribute

我在另一个元素上设置属性时遇到问题。

我正在使用带有 JS 和 HTML 的 PHP 代码,它看起来像:

<textarea name='$id' id='$id' class='regular-text' cols='60' rows='1' tabindex='2'"
            . "onkeypress =\"javascript:document.getElementById('content').setAttribute('onkeypress', document.getElementById('so_observer_heading_count').innerHTML = document.getElementById('content').value.length)\">$value</textarea>

你一定知道我有2个元素。我使用第一个('content')来编写文本,在另一个('so_observer_heading_count')中,应更新第一个元素的符号数量。

所以我的问题是,如何在另一个元素上设置属性。

我已经检查过名称是否正确,当我更改 2. 元素上文本区域的内容时,我从第一个元素中获得了正确的数量。但我只想更改第一个元素中的内容来刷新金额。

而且我不想更改第一个元素的代码!不要被文本区域混淆,将来这将是一个标签或其他东西。

最佳答案

首先:

不要使用内联事件绑定(bind)。始终使用“真正的”javascript,(这样您也可以防止转义引号的问题),这更加干净且更易于维护。

此外,您的代码还有另一个问题:您在文本区域上有一个事件处理程序“按键”,它将每个“按键”绑定(bind)到您的内容元素的另一个属性。这不是很高效并且很可能无法正常工作。此代码应该是您需要的一切:

document.getElementById('content').addEventListener("keyup",function(){

    var obs  = document.getElementById('so_observer_heading_count');    

    obs.innerHTML = this.value.length;

});​

这是一个 demo 为你。

编辑:我将事件从keypress更改为keyup,以1)正确计数2)考虑字符删除。

关于JavaScript setAttribute 到另一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391103/

相关文章:

javascript - 是否有允许在 Javascript 中使用 Android 的 9-patches 的工具?

javascript - 在 jQuery 中构建 html 元素的最清晰方法

javascript - jQuery - 如何在 div 中查找表格

c - Extern "C"NULL 函数指针

c - 外部变量是如何定义的?

c - extern“C”在msvc++ 9.0中无效

javascript - 大 React 类还是外部 Controller ?

javascript - 为什么将变量作为属性添加到循环中的对象时,第一次会添加变量的实际名称作为属性?

php - 在javascript中设置 session 或php变量?

javascript - 仅当元素未获得焦点时才执行函数