jquerygetAttribute

jquerygetAttribute,jquery,Jquery,我有一个“uid”属性,它的值在我的“body”标签上 但上面写着“未定义”。有什么问题吗?试试: $(document).ready(function(){ regFunct(); }); function regFunct(){ alert($("body").attr("uid")); } 您正在将来自regFunct的返回值放入.ready()处理程序方法中。也就是说,未定义,因为函数不返回任何内容 您需要通过省略括号传入函数引用: $(document).

我有一个“uid”属性,它的值在我的“body”标签上

但上面写着“未定义”。有什么问题吗?

试试:

$(document).ready(function(){ 
     regFunct();
 });

function regFunct(){
     alert($("body").attr("uid"));
 }

您正在将来自
regFunct
的返回值放入
.ready()
处理程序方法中。也就是说,
未定义
,因为函数不返回任何内容

您需要通过省略括号传入函数引用:

$(document).ready(regFunct);

Hi添加自定义属性是一种不良行为。看一看你将没有uid属性

如果您想存储自己的数据。使用
$.data
(请参阅中的文档)

如果数据来自服务器,您仍然可以这样做

<script type="text/javascript">
   $(function() {
      $('body').data('uid', '<?php echo $_GET[uid] ?>');
   });
</script>

$(函数(){
$('body')。数据('uid','';
});
设置为rel标记并检查

function regFunct(){
   alert($("body").attr("rel"));
}

更新:由于uid不是已知属性,因此在Internet Explorer中似乎未定义。修复方法是使用
jQuery.data()
向元素插入数据

$(document).ready(regFunct());

function regFunct(){
    $('body').data('uid', 1337);
    alert($('body').data('uid'));
}
但是您必须自己分配uid。例如,您可以通过页面上的
执行此操作

<script type="text/javascript">
    $(document).ready(setData());

    function setData(){
        $('body').data('uid', 1337);
    }
</script>

$(文档).ready(setData());
函数setData(){
$('body')。数据('uid',1337);
}
更多关于jQuery.data()的信息,请访问

工作示例:


但是,如果您试图从服务器端保存页面上的数据,则可以在正文后添加一些不可见的元素,例如
此处的ID
,然后使用
$(“#uid”).html()获取它瞧!:)

@bolt:是的,我知道,我的身体标签上还有一个“id”属性。。。我需要在body标记上保存另一个变量,我不会向body元素添加新属性。看看jQuery.data()-甚至$(function(){regFunct();})@村民:这也是返回未定义的。。。它返回一个警告框并显示“未定义”;您不应该回答这个问题,因为添加自定义属性是一种不好的行为。I-1你的answer@Baptiste你知道他为什么使用自定义属性吗?或者,即使他需要一堂关于最佳实践的课?@Villageidiot,如果有人问我如何让他的船沉下去以便在海里游泳,我会告诉你一定有更好的方法:)@AfrigAminuddin:那么唯一的解释是,你的
标签没有“uid”属性:工作示例:它在Internet Explorer中未定义,因为uid属性不是body标记的有效属性。请看我的答案以寻求解决方案。@Baptiste Pernet-当然,您可以使用javascript来存储所需的所有数据,但有时人们喜欢简单的解决方案,这种解决方案不会带来太多麻烦。有些人似乎很难找到解决方法:$('body').data('uid',yourServerSideID)。
function regFunct(){
   alert($("body").attr("rel"));
}
$(document).ready(regFunct());

function regFunct(){
    $('body').data('uid', 1337);
    alert($('body').data('uid'));
}
<script type="text/javascript">
    $(document).ready(setData());

    function setData(){
        $('body').data('uid', 1337);
    }
</script>