JQuery HREF значение привязки - PullRequest
       2

JQuery HREF значение привязки

1 голос
/ 30 октября 2010

У меня есть якорная ссылка на странице aspx, например:

<a id="Anchor"class="myAnchor" href="Myproject/Mypage.aspx?myTag=asp">Go</a>

Мне нужно получить доступ к значению «myTag» с помощью jquery. Как это сделать?

Ответы [ 4 ]

11 голосов
/ 30 октября 2010
$(function(ready){
    alert($('#Anchor').attr('href')); // prints Myproject/Mypage.aspx?tag=asp
    alert($('#Anchor').text()); // prints Go
});

http://jsfiddle.net/max6s/

3 голосов
/ 30 октября 2010

Вы можете сделать это:

var myTag = $('#Anchor')[0].search.split('=')[1];

Пример: http://jsfiddle.net/B6GYB/

Или не использовать jQuery:

var myTag = document.getElementById('Anchor').search.split('=')[1];

Пример: http://jsfiddle.net/B6GYB/1/

2 голосов
/ 30 октября 2010

Чтобы получить ссылку по ссылке:

var href = $('#Anchor').attr('href');

Чтобы получить HTML внутри:

var html = $('#Anchor').html();

#Anchor - это селектор формата CSS, который означает «Выберите элемент с идентификатором« Якорь ». *

0 голосов
/ 30 октября 2010

Вы можете получить конкретный параметр запроса url, используя следующий код:

Javascript

<script type="text/javascript">
        function getAnchorValue(anchorId, key) {
            var href = document.getElementById(anchorId).getAttribute('href');
            var pageQuerySearch = new PageQuery(href.split('?')[1]);
            return unescape(unescape(pageQuerySearch.getValue(key)));
        }
        function PageQuery(query) {
            if (query.length > 1) {this.q = query; } else { this.q = null; } this.keyValuePairs = new Array();
            if (this.q) { for (var i = 0; i < this.q.split("&").length; i++) { this.keyValuePairs[i] = this.q.split("&")[i]; } };
            this.getValue = function (s) {
                for (var j = 0; j < this.keyValuePairs.length; j++) {
                    if (this.keyValuePairs[j].split("=")[0] == s) { return this.keyValuePairs[j].split("=")[1]; }
                } return false;
            };
        }
</script>

и вот использование этой функции:

alert (getAnchorValue ('Anchor', 'myTag'));

JQuery

<script type="text/javascript">
    ; (function ($) {
        $.extend({
            getAnchorValue: function (name, url) {
                function getQueryStringParams() {
                    var parameters = {}, e, a = /\+/g, r = /([^&=]+)=?([^&]*)/g,
                        d = function (s) { return decodeURIComponent(s.replace(a, " ")); },
                        q = url ? url.split('?')[1] : window.location.search.substring(1);
                    while (e = r.exec(q)) { parameters[d(e[1])] = d(e[2]) }; return parameters;
                }
                if (!this.params) this.params = getQueryStringParams();
                return this.params[name];
            }
        });
    })(jQuery);
</script>

Использование:

alert ($. GetAnchorValue ('myTag', $ ('# Anchor'). Attr ('href')));

РЕДАКТИРОВАТЬ : я отредактировал свой ответ, а также добавил код jquery для получения параметра строки запроса

...