您好我在WordPress中有一个插件,在评论区显示个人评分。我试图在div中使用数据字段为每个用户获得投票。这是结构。
<div id="r1" class="widget_rate"
data-post-id="<?php echo $post_id ?>"
data-user-id="<?php echo $user_id; ?>"
data-nonce="<?php echo $nonce ?>"
data-total="***<?php echo $data;*** ?>"
>
<div data-rating="1" class="star_1 stars_ratings"><b>1</b></div>
<div data-rating="2" class="star_2 stars_ratings"><b>2</b></div>
<div data-rating="3" class="star_3 stars_ratings"><b>3</b></div>
<div data-rating="4" class="star_4 stars_ratings"><b>4</b></div>
<div data-rating="5" class="star_5 stars_ratings"><b>5</b></div>
</div>
data-total就是我追求的目标。但是当我根据第一个值为所有用户加载页面jQuery设置评级时。我认为jQuery可能只调用一次但是当我在浏览器中检查时,我发现了所有&#34; widget_rate&#34; DIV。这是,
[div#r1.widget_rate, div#r1.widget_rate, div#r1.widget_rate, prevObject: jQuery.fn.init[1], context: document, selector: ".widget_rate", jquery: "1.11.1", constructor: function…]
0: div#r1.widget_rate
1: div#r1.widget_rate
2: div#r1.widget_rate
context: document
length: 3
prevObject: jQuery.fn.init[1]
selector: ".widget_rate"
__proto__: Object[0]
我有三条评论,我有三个实例,所以我尝试通过分配
来访问它们var temp = $(".widget_rate")[0];
我可以看到outerHTML中的值,但我无法访问它。它返回未定义的函数错误。
var temp = $(".widget_rate")[0].html();
var temp = $(".widget_rate")[0].outerHTML;
但没有任何效果。我很感激有一个解决方法。
答案 0 :(得分:1)
当您使用[0]访问时,您只获得元素。不是Jquery对象。你必须重用$ function。
var temp = $(".widget_rate")[0].html();
如果你只想要三个中的第一个,你可以使用:第一个选择器
var temp = $(".widget_rate:first").html();
有很多选择器
答案 1 :(得分:0)