2015-09-05 65 views
0

我正在寫一個JavaScript應用程序,動態生成按鈕,導致用戶鏈接到不同的產品。鏈接不工作在IE和Firefox與jQuery生成標記

他們看起來像這樣:

buttons generated by app

問題是,當他們產生其中包含的鏈接中鉻工作,但不是在IE或Firefox。

這裏的HTML:

HTML

<div class="row"> 
    <div class="button-class"> 
    </div> 
</div> 

這是我用來生成它們的代碼:

JQUERY

buttons: function(num) { 
    $(".button-class").html("<div class='text-center'><ul class='list-inline'><li><button class='btn btn-success'><a href=" + state.greens[num].website + " target='_blank'>Company Website</a></button></li> <li><button class='btn btn-success' data-toggle='modal' data-target='#myModal'>View the Label</button></li></ul></div>"); 
    if (state.greens[num].link !== false) { 
     $(".button-class ul").append("<li><button class='btn btn-success'><a href=" + state.greens[num].link + " rel='nofollow' target='_blank'>Get It On Amazon</a></button></li>"); 
    } 

    if (state.greens[num].review !== false) { 
     $(".button-class ul").append("<li><button class='btn btn-success'><a href=" + state.greens[num].review + " target='_blank'>Read The Review</a></button></li>"); 
    } 
}, 

按鈕爲p一個稱爲顯示的對象的藝術,由display.buttons()調用;

這兩個if語句檢查產品對象中是否存在某些類型的鏈接,然後將它們附加到UL(如果是ydo)。

按鈕可以正確生成,但在Firefox和IE中單擊時可能無法打開鏈接(可能是Safari,但我沒有選中)。

更令人困惑的是,生成的html在語義上看起來是正確的。

例如,這是Firefox的調試器顯示的HTML是不工作:

firefox debugger

沒有道理給我。

如果你想去的頁面真人版,你可以在這裏看到:superfood picker

然後進入最後一節,上面寫着「點擊產品的詳細信息頁面,瞭解更多」,看起來像這樣:

Where to go in app

點擊的產品之一,它會帶你到我談論的按鈕。

+0

我認爲你可以用瀏覽器的窗口攔截器來解決問題。 Firefox和IE都有了。如果我在答案中發佈的解決方案對您不適用,也許您的問題是阻止者。嘗試在攔截器白名單中設置目標。 –

回答

2

這不是語義正確的,因爲你需要在引號包裹在href

buttons: function(num) { 
    $(".button-class").html("<div class='text-center'><ul class='list-inline'><li><button class='btn btn-success'><a href='" + state.greens[num].website + "' target='_blank'>Company Website</a></button></li> <li><button class='btn btn-success' data-toggle='modal' data-target='#myModal'>View the Label</button></li></ul></div>"); 
    if (state.greens[num].link !== false) { 
     $(".button-class ul").append("<li><button class='btn btn-success'><a href='" + state.greens[num].link + "' rel='nofollow' target='_blank'>Get It On Amazon</a></button></li>"); 
    } 

    if (state.greens[num].review !== false) { 
     $(".button-class ul").append("<li><button class='btn btn-success'><a href='" + state.greens[num].review + "' target='_blank'>Read The Review</a></button></li>"); 
    } 
}, 

注意的,如果你改變雙引號代替單引號,反之亦然它是最好的。

+0

在我提供的例子中,href地址被用引號括起來,所以我不理解你的觀點。 –

+0

This:'

相關問題