再次您好:)我有以下代码:

<script type="text/javascript" language="javascript">
$(document).ready(function () {
   $(function () {
       $('body').on('click', 'a.myclass', function () {
           sndcmpnm = $(this).attr("value");
           alert("From Small Function :" + sndcmpnm);
       });
   });
});
</script>


在底部的页面中,我有一行var deares = sndcmpnm;的简单javascript。有趣的是,无论我做什么,deares都永远不会获得sndcmpnm的值。我尝试了SO的另一种解决方案,该解决方案说我不能在变量前放置var,但这也无济于事。警报alert("From Small Function :" + sndcmpnm);给出正确的结果。 Java错误代码thingy说


  ReferenceError:尚未定义sndcmpnm


我想要的是deares可以获取sndcmpnm的值。我看不到我在做什么错,请帮助我:(

[编辑]其他代码:

<script>
function discomp()
{
  alert("hello1");
  var deares = sndcmpnm;
  alert("hello2");
  alert("This is suppose to hold the sndcmpnm data :" +deares);
}
</script>

最佳答案

只需在sndcmpnm标记的全局范围内定义script。 (并且您只需要准备一个文档,$(function() { ... }$(document).ready(function() { ... }的简写。)

<script type="text/javascript" language="javascript">

var sndcmpnm = '';

$(function() {

    $('body').on('click', 'a.myclass', function() {

        sndcmpnm = $(this).attr("value") ;
        alert("From Small Function :" + sndcmpnm);

    });

});

</script>

<script>
function discomp() {
  var deares = sndcmpnm;
  alert("This is suppose to hold the sndcmpnm data: " + deares);
}
</script>

10-04 22:03