我有一个带按钮&amp ;;的父元素php代码中的子div。子div具有动态分配的innerHTML,并且还在输出中动态显示。
Php代码:
$loc = $sdid; /*get value according to some loop condition thus this value
changes as loop iterates*/
echo '<div id="parent">
<input type="button" id="investbutton" value="Invest" onclick="InputInvest()">
<div id="child">'.$loc.'</div>
</div>';
现在,子项具有$ loc变量的动态值。
单击按钮时,将调用InputInvest():
function InputInvest()
{
var x=0;
x= document.getElementById("investbutton").nextSibling.innerHTML;
document.write(x);
}
但是,这些内容正在显示未定义的&#39; 如何解决这个错误?
修改 解决以前的问题:
x = document.getElementById("investbutton").nextElementSibling.innerHTML;
问题2: 但现在输出只有第一个for循环条件值。我认为javascript无法重新分配x,因为值肯定正在迭代...或者可能是输入标记无法动态获取值。 欢迎提出任何新的建议!
答案 0 :(得分:2)
x = document.getElementById("investbutton").nextElementSibling.innerHTML;
因为换行符会被视为text node
。并且它没有名为innerHTML
的属性。
在 .php 中,
<input type="button" class="investbutton" value="Invest" onclick="InputInvest(this)">
<强> JS 强>:
function InputInvest(_this) {
var x = _this.nextElementSibling.innerHTML;
document.write(x);
}