2 回答

TA贡献1876条经验 获得超6个赞
也许以下内容可能会有所帮助 - 尽管就 Python 调用而言还没有经过测试,但我认为如果我理解正确的话,其他代码应该可以正常工作。
每个 ID 在 DOM 中都必须是唯一的,我猜这就是为什么你试图通过$version向每个 ID 添加数字来使它们如此。querySelectorAll如果您使用合适的表达式,这并不是真正必要的。与普通 javascript 中存在的一个或多个父/同级选择器结合执行此操作可以相当轻松地进行 DOM 导航和操作。这也意味着您可以对所有按钮使用同一段代码......希望它有所帮助。
<?php
while( $version > 0 ) {
$command = escapeshellcmd( "C:/Python38/python.exe C:/xampp/htdocs/Ensemble/login/test.py $email $version" );
$output = shell_exec("$command 2>&1");
printf('
<br />
<br />
<button data-version="%d">Toggle</button>
<div style="display:none">%s</div>',
$version,
$output
);
$version--;
}
echo "
<script>
Array.from( document.querySelectorAll('button') ).forEach( bttn=>{
bttn.addEventListener('click', function(e){
let version=this.dataset.version;
let div=this.nextElementSibling;
div.style.display=div.style.display=='block' ? 'none' : 'block';
});
})
</script>";
?>

TA贡献1799条经验 获得超8个赞
代替
<div style= "display:none;" "id="content-' . $version . '">
到
<div style= "display:none;" id="content-' . $version . '">
并尝试。
- 2 回答
- 0 关注
- 152 浏览
添加回答
举报