2011-09-21 85 views
0

我想獲取一個錨點列表,並在彈出窗口中顯示錨點引用的文本。就像一個彈出式的詞彙表。我嘗試了幾種不同的技術,但我無法得到任何工作,因爲我對此很新。此技術在Firefox中工作,但不在Internet Explorer中。任何幫助,將不勝感激,或者如果我應該使用不同的方法,請讓我知道。jquery定位器彈出框

我有我的錨ID作爲說,ID =「第一」,然後將其作爲參考ID =「2第一」的文本

$("a").click(function(){ 
    var toGet = $(this).attr('id'); 
    var holder =$("#2" + toGet); 
    var toShow = $(holder).html(); 
    loadPopup(toShow); 
    return false; 
}); 
+0

你需要展示更多的信息。從我看到的那裏你所要做的就是得到html(),它不一定是id爲「#2first」的元素的文本。這不是一個列表,而是單擊一個錨標籤 – CBRRacer

回答

2

我猜想,IE不喜歡id屬性,這些屬性開始與一個數字。從HTML4 specification

IDNAME令牌必須以字母開頭([A-ZA-Z])和之後可以是任何數量的字母,數字([0-9]),連字符(」 - 「),下劃線(」_「),冒號(」:「)和句點(」。「)。

HTML5 has this to say有關id屬性:

id屬性指定其元素的唯一標識符(ID)。該值在元素的主子樹中的所有ID中必須是唯一的,並且必須至少包含一個字符。該值不能包含任何空格字符。

因此,HTML5允許您使用幾乎任何東西,但HTML4當然不允許「2first」的id,這可能解釋IE的行爲。您也可以找到this question

嘗試移動「2」結尾的:

$("a").click(function(){ 
    var toGet = this.id; 
    var holder = $("#" + toGet + '2'); 
    var toShow = holder.html(); 
    loadPopup(toShow); 
    return false; 
}); 

演示:http://jsfiddle.net/ambiguous/ZcT9f/3/

+0

感謝您的幫助,但仍然無法正常工作。在我的功能是返回錨點點擊而不是它引用的錨點。就像點擊這個單詞一樣,它會返回這個單詞,就像它在firefox中的定義一樣。也許我的問題在別處? – dusty

+0

@dusty:你能在http://jsfiddle.net上重現你的問題嗎?只是一個簡單的例子。 –

0

我知道這是老了,希望你現在已經找到了答案,但也許這將幫助別人。如果你想避免一個錨鏈接,當你在jQuery中點擊它被跟蹤,並要執行一些其他的動作,而不是你能做到以下幾點:

$("a").click(function(e){ 
    e.preventDefault(); 
    var toGet = this.id; 
    var holder = $("#" + toGet + '2'); 
    var toShow = holder.html(); 
    loadPopup(toShow); 
    return false; 
}); 

通過添加事件,e,到功能,您現在可以訪問該事件並呼叫e.preventDefault()這將防止鏈接被跟蹤,而是執行後面的代碼。