Php 更改具有类似类型id的元素的css属性';s
如果id使用javascript,则在更改具有类似类型的元素的css属性时出现问题 我正在通过一系列隐藏元素运行一个php循环。所以我有这样的idPhp 更改具有类似类型id的元素的css属性';s,php,javascript,Php,Javascript,如果id使用javascript,则在更改具有类似类型的元素的css属性时出现问题 我正在通过一系列隐藏元素运行一个php循环。所以我有这样的idimgstat_1,imgstat_2等等 我使用的代码是 foreach($img as $img1){?> <li> <a href="#" onclick="changeimgstat('<?php echo $counter;?>')"> <img src=
imgstat_1
,imgstat_2
等等
我使用的代码是
foreach($img as $img1){?>
<li>
<a href="#" onclick="changeimgstat('<?php echo $counter;?>')">
<img src="<?php echo $img1->vchEventImg?>" width="75" height="75" alt="" id="abc_<?php echo $img1->vchImgStatus?>" />
</a>
</li>
<input type = "hidden" value="<?php echo $img1->vchImgStatus?>" id="imgstat_<?php echo $counter;?>">
<?php $counter++;
}?>
<input type="hidden" value="" name="newimg" id="newimg">
那么,有人能指出我做错了什么吗?最好的解决方案是向元素添加css类属性。并为班级编写风格
在onclick函数中,您可以将类添加到元素,因为我发现代码中没有错误,但是您是否在
foreach循环
之前定义了$counter
。您的img id
应该是abc\u
,而不是javascript
中使用的abc\u
尝试:
CSS
.img3{border:3px solid red;}
.img{border:none;}
HTML和PHP
<?php
$counter=1;
foreach($img as $img1){?>
<li>
<a href="#" onclick="changeimgstat('<?php echo $counter;?>')">
<img class="img" src="<?php echo $img1->vchEventImg?>" width="75" height="75" alt="" id="abc_<?php echo $counter?>" />
</a>
</li>
<input type="hidden" value="<?php echo $img1->vchImgStatus?>" id="imgstat_<?php echo $counter;?>">
<?php $counter++;
}?>
<input type="hidden" value="" name="newimg" id="newimg">
看来你有:
<img ... id="abc_<?php echo $img1->vchImgStatus?>">
尝试以下操作:
foreach($img as $img1){?>
<li>
<a href="#" onclick="changeimgstat('<?php echo $counter;?>')">
<img src="<?php echo $img1->vchEventImg?>" width="75" height="75" alt="" id="abc_<?php echo $counter;?>" />
</a>
</li>
<input type = "hidden" value="<?php echo $img1->vchImgStatus?>" id="imgstat_<?php echo $counter;?>">
<?php $counter++;
}?>
<input type="hidden" value="" name="newimg" id="newimg">
我已更改id=“abc\ux”
因为在javascript函数中,您传递的参数是计数器,所以id值也应该是相同的。您可以从有效的HTML开始。输入元素不能是li元素的同级。另外,发布页面得到的实际HTML,而不是PHP,因为我们不知道像imgstat\uuz
这样的东西会生成什么。当我像上面那样发出警报时,我在警报框中会得到null。请在script
=警报(document.getElementById('abc_'+obj))
,因为您没有在id为newimg的隐藏字段中指定值
,在这种情况下,我必须将类删除到一个元素,并从另一个元素删除类,我认为您不需要这样做。该类可用于更改样式,并且您用于状态值(imgstat)的id将执行其部分操作。我尝试了此操作,但没有从以前单击的元素中删除该类,但我也必须从以前的元素中删除该类。您可以在图像
上应用公共类
,如img
,这样您就可以用来删除以前应用的类=img3
。
<img ... id="abc_<?php echo $img1->vchImgStatus?>">
<input ... value="<?php echo $img1->vchImgStatus?>" id="imgstat_<?php echo $counter;?>">
foreach($img as $img1){?>
<li>
<a href="#" onclick="changeimgstat('<?php echo $counter;?>')">
<img src="<?php echo $img1->vchEventImg?>" width="75" height="75" alt="" id="abc_<?php echo $counter;?>" />
</a>
</li>
<input type = "hidden" value="<?php echo $img1->vchImgStatus?>" id="imgstat_<?php echo $counter;?>">
<?php $counter++;
}?>
<input type="hidden" value="" name="newimg" id="newimg">
function changeimgstat(obj)
{
var xyz = document.getElementById('newimg').value;
alert(document.getElementById('abc_'+xyz));
document.getElementById('abc_'+obj).style.border="3px solid red";
var status = document.getElementById('imgstat_'+obj).value;
document.getElementById('newimg').value = status;
}