gpt4 book ai didi

php - 无法使用 Jquery $().attr 获取循环 PHP 变量的 attr

转载 作者:行者123 更新时间:2023-11-29 04:27:19 31 4
gpt4 key购买 nike

大家好,在访问一个循环的 php 变量时遇到了一个小问题。我的脚本循环使用来自 mysql 数据库的 x 和 y。它还循环出我无法访问的 id,它显示为未定义。我正在使用鼠标移开功能来检测已循环的每个单独的 div 并获取特定的 id。

非常感谢帮助!

Javascript 为数据库操作准备好属性:

  $(this).mouseout(function() {

var stickytext_id = $(this).attr('textstickyid');//alerted out returns undefined.

});

循环 PHP 获取 attr 形式:

      $get_textsticky_result=mysql_query($get_textsticky_query);

while($row=mysql_fetch_assoc($get_textsticky_result)){
$x = $row['textsticky_x'];
$y = $row['textsticky_y'];

echo '<div class="textsticky" style="position: absolute; left:'.$x.'px; top:'.$y.'px;" textstickyid="'.$row['textsticky_id'].'">
<div class="textstickyvalueholder"contentEditable="true">'. $row['textsticky_text'] .'
</div><button>Like</button></div>';

}
?>

可以获取其他循环变量,例如$row['textsticky_text'];和 x 和 y 的位置没有问题,有没有更好的方法来做到这一点?我有一种内联样式正在影响它但不确定的感觉......

最佳答案

好吧,我只是想冒险一下,假设您的初始选择器不正确。 $(this) 是典型代码流中的窗口。

$(this).mouseout(function() {
var stickytext_id = $(this).attr('textstickyid');//alerted out returns undefined.
});

应该是:

$('div.textsticky').mouseout(function() {
var stickytext_id = $(this).attr('textstickyid');//alerted out returns undefined.
});

此外,正如 Kris 在评论中提到的,使用 data attribute 而不是发明标签这是html5的一部分。

<div class="textsticky" data-textstickyid="blah" />

然后可以通过 jQuery 的数据方法访问它。

http://jsfiddle.net/kQeaf/

只要我们提供建议,如果您使用的是 jQuery 1.7+,您应该使用 prop 而不是 attr 来访问属性(当然除非您决定使用刚刚推荐的data方法。

关于php - 无法使用 Jquery $().attr 获取循环 PHP 变量的 attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8989596/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com