У меня есть сайт, на котором мне нужно проверить все href-ссылки, если они есть в пользовательском словаре на сайте. Если они существуют, то атрибут title в теге a должен быть установлен на текст, извлекаемый с сервера. Я собрал это вместе, основываясь на других соображениях с этого сайта (пример, не проверен):
// How to only activate "a href" links?
jQuery('a').mouseover(function() {
// should be what is between <a href="">this text</a>. Is this correct?
var dictionaryWord = jQuery(this).text();
// do a server site call to get description for the word given in the var above
jQuery.get("/getDescriptionFromDictionaryWord.aspx", { word: dictionaryWord },
function(data){
// set title tag for the a-tag actual a-tag
// will "this" refer to the a-tag with mouseover?
jQuery(this).attr("title", data);
});
});
Возможны ошибки в вышеприведенном. Я только что создал его из разных ответов, найденных в этом здесь на StackOverflow. Есть ли лучший способ получить ответ от сервера, чем приведенный выше?
Если это работает, мне нужен только хороший способ показать заголовок при наведении курсора. Я видел несколько пакетов для этого, так что это должно быть достаточно просто.
BR. Андерс
ОБНОВЛЕНИЕ (на основе ответов ниже)
// all "a href" do this for the first mouseover "one.()"
jQuery('a[href]').one('mouseover',(function() {
// get a reference to the clicked + get dictionary word
var anchor = jQuery(this),
dictionaryWord = anchor.text();
// do a server site call to get description for the word given in the var above
jQuery.get("/getDescriptionFromDictionaryWord.aspx", { word: dictionaryWord },
function(data){
// set title tag for the a-tag actual a-tag
// will "this" refer to the a-tag with mouseover?
anchor.attr("title", data);
});
}));