我想使用onclick按钮更改textarea的ID。所以我在我的领域创建了两个按钮。每次点击都会运行一个功能。
问题:它只是第一次替换我的id而第二次当我点击第二个按钮时它会抛出错误说" Uncaught TypeError:无法设置属性' id' of ti_pos_fun(index.html:491)"
HTML code-
<div>
<label for="usr">ti:</label> <i class="glyphicon glyphicon-check" onclick="ti_pos_fun()"></i> <i class='glyphicon glyphicon-unchecked' onclick="ti_neg_fun()"></i>
</div>
我正在尝试使用两个按钮 - 例如
现在,当您点击检查按钮时,会运行onclick功能&#34; ti_pos_fun&#34;。
功能如下
function ti_neg_fun ()
{
var a = document.getElementById("jsel");
a.id = "ti_neg";
//$("#ti_neg").text('angry');
document.getElementById('ti_neg').innerHTML = 'angry';
}
function ti_pos_fun ()
{
var a = document.getElementById("jsel");
a.id = "ti_pos";
document.getElementById('ti_pos').innerHTML = 'hahahahaha';
//$("#ti_pos").text('hahahaha');
}
这些ID正在进行的Textarea代码&amp;他们的文字。
<div class="col-md-10">
<H3> textarea</H3>
<textarea id = "jsel"></textarea>
</div>
答案 0 :(得分:3)
它不能在第二次点击时工作,因为你要覆盖该元素的id
//a.id = "ti_neg";
所以在第二次点击时没有标识为jsel
的元素,并且下面的语句将返回null并且它将不起作用。
document.getElementById("jsel");
function ti_neg_fun ()
{
var a = document.getElementById("jsel");
//a.id = "ti_neg";
//$("#ti_neg").text('angry');
document.getElementById('jsel').innerHTML = 'angry';
}
function ti_pos_fun ()
{
var a = document.getElementById("jsel");
//a.id = "ti_pos";
document.getElementById('jsel').innerHTML = 'hahahahaha';
//$("#ti_pos").text('hahahaha');
}
&#13;
<div>
<label for="usr">ti:</label> <i class="glyphicon glyphicon-check" onclick="ti_pos_fun()">1</i> <i class='glyphicon glyphicon-unchecked' onclick="ti_neg_fun()">2</i>
</div>
<div class="col-md-10">
<H3> textarea</H3>
<textarea id = "jsel"></textarea>
</div>
&#13;
答案 1 :(得分:1)
那是因为ID不再是jsel你需要这样的东西,如果它找不到jsel检查ID其他功能集,反之亦然。编辑:添加了有效的剪辑。
Foo<T>
T