用变量解析div id

时间:2013-07-04 02:36:01

标签: php javascript parsing

首先,我感谢所有成员都在努力互相帮助。

我想在我的javascript函数中通过id获取div内容。我有功能,它与一个div和它的内容工作正常。但是现在我从DB获得了多条记录,所以为了使div独特,我已经完成了以下操作。其中$ i = $ i + 1 in while循环

<div id="<?php echo 'fvd'.$i; ?>" class="fake-checkbox star-checkbox"><a id="<?php echo 'tvd'.$i; ?>" onclick="respuestas('<?php echo $user_id1;?>'); return false;" href="#">Add to favourites</a></div>

所以在这里我为下一条记录fvd2,tv2等生成fvd1,tvd1 下面是函数进程用户id并通过Ajax调用获取响应,并将添加到收藏夹的标题更改为添加到收藏夹并添加更改文本颜色的类名“已检查”。

function respuestas(str) {
    var popID = str;

    var gett = document.getElementById('tvd1').innerHTML;

    if (gett == 'Add to favourites') {
        $.post('personals/addfavourite.php', {
            ref: popID
        }, function (data) {

            if (data == 'no') {
                alert('Sorry! something gone wrong!')
            } else if (data == 'yes') {

                var d = document.getElementById("fvd1");
                d.className = d.className + " checked";
                document.getElementById('tvd1').innerHTML = 'Added to favourites';
            }

        });
    }
}

现在如何在此函数中解析fvd2,tvd2等。 任何帮助将不胜感激。谢谢

2 个答案:

答案 0 :(得分:0)

你可以做到

onclick="respuestas(this, '<?php echo $user_id1;?>');

并且第一个参数将是<a>,因此您可以

function respuestas(elm, str) {

    elm.getAttribute("id");

}

左右。 (不确定DOM方法名称)

BTW为什么不把$i也放到电话中?或许我没有得到正确的问题?如果没有,请解释一下。

如果您需要访问这些元素,那么<a>中已有elm,而<div>位于elm.parentElement

检查HTML DOM方法:https://developer.mozilla.org/en-US/docs/Web/API/Node.parentElement

答案 1 :(得分:0)

如果您将$i添加到函数参数中,则可以动态地获取每个分组

onclick="respuestas('<?php echo $user_id1;?>',<?php echo $i;?>); return false;"

function respuestas(str,num) {
    ...
    var gett = document.getElementById('tvd'+num).innerHTML;
    ...
    var d = document.getElementById("fvd"+num);
    ...
    document.getElementById('tvd'+num).innerHTML = 'Added to favourites';
    ...
}