【问题标题】:Can't get to the DOM element无法访问 DOM 元素
【发布时间】:2015-01-25 18:30:58
【问题描述】:

我的页面上有投票脚本 (jQuery Raty),一切正常,但我想在投票后更改我的 ajax 中的费率数字。

无法跨越类 .glosy

我的html:

<div class=\"movie__rate\">
    <div class=\"score\" data-score=\"$czy_glosowal2[ocena]\" data-user=\"$stat[id]\" data-movie=\"$podobny_film[id]\"></div>
    <span class=\"movie__rate-number\">
        <span class=\"glosy\">170</span>
    głosów</span>
</div>

我的 JS:

('.score').raty({

click: function(score) {

var licznik_komentarzy = $(this).find('.glosy').text();
var zapisanie_licznika = $(this).find('.glosy').val(licznik_komentarzy);
var dodanie_licznika = +$(this).find('.glosy').val() + 1;                   
$(this).find('.glosy').text(dodanie_licznika);
            }               
            });

尝试了不同的方法(next()、nextAll()、find())仍然无法弄清楚。

【问题讨论】:

    标签: javascript jquery html dom raty


    【解决方案1】:

    假设 this 实际上是元素(取决于插件的编写方式)......你在 DOM 树中看错了方向。

    closest() 在树中查找祖先。

    您需要使用find() 来查找.score 的后代

    【讨论】:

    • 什么是this?将其记录到控制台
    • 刚刚注意到,由于您的 html 未格式化,我误读了它,实际上是兄弟...如果 this 是元素,请尝试 siblings()
    • 父级 = div .score,第一个子级 = NULL。不知道在哪里查看日志。
    • 除了表单控件之外,也不能在任何东西上使用val()
    • 是的,但它适用于我(.score),但它在页面上改变了我所有(.score),所以我需要进入这个元素。
    猜你喜欢
    • 1970-01-01
    • 2012-07-31
    • 2016-10-14
    • 2014-03-18
    • 2021-09-05
    • 2015-08-09
    • 2016-11-13
    • 2020-07-10
    • 2021-01-04
    相关资源
    最近更新 更多