如何将嵌套的全局或本地jquery变量调用到html中?

时间:2014-11-10 09:01:49

标签: javascript jquery html

我有这个问题,我已经尝试了几天但没有成功。任何帮助都将非常感激。

我想将嵌套jQuery中的变量调用到html中。变量我用名称"问题"来称呼它。我甚至尝试将其设为全局,但是当我在函数

中进行本地更新时
$(".dropdown dd ul li a").click(function() { }

变化仍然是本地的。我怎样才能做到这一点?谢谢。 NB /我通过粘贴整个功能进行了更新。我在网上发现了这个功能,并对其进行了修改,使其能够同时执行图像和文本的选择功能。我想知道在发生这种情况时它是什么选择,以便我可以用Facebook页面更改SIGNUP页面,

 <span =email>

以上部分帮助我了解其电子邮件或其他社交媒体网站。 在运行    警报(文字)

显示器

<span =email=""><img class="flag flagvisibility" src="media/Email_icon.png" alt="" style="margin-bottom:0px" height="30" width="30" align="left&quot;"> Email</span>

我用

var n1 = text.indexOf("=") + 1;
            var n2 = text.indexOf("=", n1);// OR SIMPLY USE c=text.slice(text.indexOf("=")+1, text.indexOf("=", text.indexOf("=")+1))
            n3 = text.slice(n1, n2)
            PROBLEM[0] = text.slice(n1, n2)

获得等号的第1和第2个指示&#34; =&#34;从中我可以提取其电子邮件或其他社交媒体网站。我希望这有帮助

这是整个

</style>
<script type="text/javascript">
    var PROBLEM =[]
    $(document).ready(function() {
        $(".dropdown img.flag").addClass("flagvisibility");

        $(".dropdown dt a").click(function() {
            $(".dropdown dd ul").toggle();
            return false; //This is the important part
        });

        $(".dropdown dd ul li a").click(function() {
            var text = $(this).html();
            $(".dropdown dt a span").html(text);
            $(".dropdown dd ul").hide();
            //$("#result").html(text);
            //$("#result").html("Selected value is: " + getSelectedValue("sample"));
            $("#result").html("Selected value is: " + text);
            var n1 = text.indexOf("=") + 1;
            var n2 = text.indexOf("=", n1);// OR SIMPLY USE c=text.slice(text.indexOf("=")+1, text.indexOf("=", text.indexOf("=")+1))
            n3 = text.slice(n1, n2)
            PROBLEM[0] = text.slice(n1, n2)
            //return false; //This is the important part
        })


        function getSelectedValue(id) {
            return $("#" + id).find("dt a span.value").html();
        }

        $(document).bind('click', function(e) {
            var $clicked = $(e.target);
            if (! $clicked.parents().hasClass("dropdown"))
                $(".dropdown dd ul").hide();

        });

        $("#flagSwitcher").click(function() {
            $(".dropdown img.flag").toggleClass("flagvisibility");
        });
    });


</script>


<dl id="sample" class="dropdown">
        <dt style="vertical-align:middle"><a href="#"><span ><img class="flag" src="media/Email_icon.png" alt="" width="30" height="30" align=left" style="margin-bottom:0px"/> Email</span></a></dt>
    <dd>
        <ul>
            <!--the use  of names like  email, face book in the span is just for some  dirty  steps in the javascript above .indexOf("=")-->
            <li><a href="#"><span =email><img class="flag" src="media/Email_icon.png" alt="" width="30" height="30" align=left" style="margin-bottom:0px" /> Email</span></a></li>
            <li><a href="#"><span =facebook><img class="flag" src="media/Facebook_icon.png" alt="" width="30" height="30" align=left" style="margin-bottom:0px" /> Facebook</span></a></li>
            <li><a href="#"><span =twitter><img class="flag" src="media/Twitter_icon.png" alt="" width="30" height="30" align=left" style="margin-bottom:0px" /> Twitter</span></a></li>
            <li><a href="#"><span =linkedin><img class="flag" src="media/Linkedin_icon.png" alt="" width="30" height="30" align=left" style="margin-bottom:0px" /> LinkedIn</span></a></li>
        </ul>
    </dd>
</dl>
<span id="result">

1 个答案:

答案 0 :(得分:1)

我认为问题是由于您未阻止超链接默认操作发生而引起的。您需要使用return false;event.preventDefault();来停止回发链接。

var PROBLEM = [];
$(document).ready(function() {
    $(".dropdown img.flag").addClass("flagvisibility");

    $(".dropdown dt a").click(function() {
        $(".dropdown dd ul").toggle();

        return false; //This is the important part
    });

    $(".dropdown dd ul li a").click(function() {

        var text = $(this).html();

        $(".dropdown dt a span").html(text);
        $(".dropdown dd ul").hide();
        $("#result").html("Selected value is: " + text);

        var n1 = text.indexOf("=") + 1,
            n2 = text.indexOf("=", n1);

        n3 = text.slice(n1,n2);
        PROBLEM = text.slice(n1,n2);

        return false; //This is the important part
    }
});

你的jQuery ready事件也没有很好地形成:

$(document).ready(function() {

}); // your missing this closing bracket.