function diffSign(div) {
var sign = document.getElementById(div.id);
if (XXXXX) {
XXXXX
} else {
XXXX
}
}
<div data-toggle="collapse" data-target="#demo@(i.tostring)" id="Sign@(i.ToString)" onclick=diffSign(this)>+</div>
我想将+符号更改为 - 并且可以更改回来! THX
答案 0 :(得分:1)
函数的div
参数已经通过引用代表this
。
<强> jsBin demo 强>
function diffSign(div){
if (div.innerHTML === '+') { // If has "+"
div.innerHTML = '-'; // Set as "-"
} else { // else? well...
div.innerHTML = '+';
}
}
或者您也可以这样做: jsBin demo using bitwise XOR (^=) and Ternary Operator(?:)
function diffSign(div) {
div.innerHTML = (div.io^=1) ? '-' : '+' ;
}
答案 1 :(得分:1)
function diffSign(div) {
var sign = document.getElementById(div.id);
sign.innerText = (sign.innerText === "+") ? "-" : "+";
}
但是如果你传入div,为什么还要再搜索一下?
function diffSign(div) {
div.innerText = (div.innerText === "+") ? "-" : "+";
}
如果div
参数是真实的div
,也会有效...
确保此div
只有+
或-
符号以外的其他内容。
欢呼声。
答案 2 :(得分:0)
function diffSign(div) {
var sign = document.getElementById(div.id);
if (sign.innerHTML == '+') {
sign.innerHTML = '-';
} else {
sign.innerHTML = '+';
}
}
<div data-toggle="collapse" data-target="#demo@(i.tostring)" id="Sign@(i.ToString)" onclick=diffSign(this)>+</div>
答案 3 :(得分:0)
由于div是实际的DOM元素和javascript对象,因此您可以直接使用它并动态添加属性。
function diffSign(div) {
//Add a new property to maintain the element's state on the first call, toggle it on subsequent calls
div.useMinus = !div.useMinus;
//set the text based on the current state.
div.innerHTML = (div.useMinus ? '-' : '+');
}
答案 4 :(得分:-2)
您可以使用document.getElementById.innerHTML =&#34;您的新文字&#34; ........来更改文字。