如何在javascript中将变量附加到类中?
因此,我已经在这个问题上纠缠了一段时间,似乎无法获得正确的语法 我有一个While循环,它成功地通过几个元素,直到它达到某种形式 我试图使while循环中的每个表单都有一个不同的(唯一的)类id,目前我只使用一个简单的计数,它附加到onclick和class onclick然后运行JS,我正在努力将惟一计数添加到JS中的类中,希望我的代码能够解释更多 JS如何在javascript中将变量附加到类中?,javascript,php,Javascript,Php,因此,我已经在这个问题上纠缠了一段时间,似乎无法获得正确的语法 我有一个While循环,它成功地通过几个元素,直到它达到某种形式 我试图使while循环中的每个表单都有一个不同的(唯一的)类id,目前我只使用一个简单的计数,它附加到onclick和class onclick然后运行JS,我正在努力将惟一计数添加到JS中的类中,希望我的代码能够解释更多 JS function hidelike(t) { if ($(".like").is(':visible')) { $(".like"
function hidelike(t) {
if ($(".like").is(':visible')) {
$(".like").hide();
$(".unlike").show();
$(".dislike").hide();
} else {
$(".like").show();
$(".unlike").hide();
$(".dislike").show();
}
}
HTML
<form class="likesubmit<?php echo $like_count;?>">
<input type="button" class="like<?php echo $like_count;?>" value="Like" onclick="hidelike(<?php echo $like_count;?>)">
</form>
就我从HTML中看到的情况来看,您没有类似类的元素。
如果您想将表单的所有类作为目标,如1
,如2
,您要使用以下选项进行选择:
或按价值计算
if ($('input[value="Like"]').is(':visible')) {
以上两种方法都不理想
您真正想要做的是向您想要定位的输入添加一个额外的唯一类
这次在您的PHP中:
<form class="likesubmit<?php echo $like_count;?>">
<input type="button" class="like like<?php echo $like_count;?>" value="Like" onclick="hidelike(<?php echo $like_count;?>)">
</form>
JS(使用数字属性)
您还可以在此处使用数据
属性
<input class="like" data-id="<?= $like_count?>" onclick="hidelike(this)" />
class=“like”
它将生成类like15
like2345
等,因此$('.like')
将不返回任何内容。是的,我知道,我正在尝试将php变量添加到$('.like'),它仍然会影响按钮的每个实例。例如,我的数据库中有6个条目,循环循环了6次,当我单击其中一个循环中的一个按钮时,它会将它们全部更改。你的JS是错误的:你一直在选择所有按钮感谢到目前为止的帮助,但是它现在什么都没有做。你说的..“假设t是输入[type=button]数字属性“你怎么称呼hidelike?”?你传递给hidelike的对象是什么?它是输入还是什么?哦,我看到我用带有计数“onclick=”hidelike()的onclick调用它
<form class="likesubmit<?php echo $like_count;?>">
<input type="button" class="like like<?php echo $like_count;?>" number="<?php echo $like_count; ?>" value="Like" onclick="hidelike(<?php echo $like_count;?>)">
</form>
function hidelike(t) {
if ($(".like" + t).is(':visible')) {
$(".like" + t).hide();
$(".unlike" + t).show();
$(".dislike" + t).hide();
} else {
$(".like" + t).show();
$(".unlike" + t).hide();
$(".dislike" + t).show();
}
}
<input class="like" data-id="<?= $like_count?>" onclick="hidelike(this)" />
function hideLike(elem) {
var $elem = $(elem);
var id = $elem.data('id');
$elem.hide();
$('input.like[data-id='+id+']').hide();
}