2016-07-25 28 views
0

編輯3:我只是要重新開始。試圖使用JavaScript來填充按鈕類的標籤

我無法發佈兩個鏈接,但我使用的主題是來自themeforest的紅色墨水,我正在處理的頁面是組合頁面,如果您想要Google它。

當你點擊其中一個項目組合如「True Gangsters」時,所有的信息都從div中拉出來並插入到前一節的格式中。

我想要做的就是將一個按鈕添加到這些投資組合項目,並能夠從div拉鍊接並將其格式化爲一個按鈕。

在jsfiddle我包括格式化的div和「真正的流氓」部分格式化的div從中獲取信息。

我還包括所有投資組合部分的JavaScript,但我敢肯定,這是重要的部分:

//Update text info 
 
\t  function updateText(current) { 
 

 
\t  var title = current.attr('data-title'); 
 
\t  var desc = current.attr('data-description'); 
 
\t  var date = current.attr('data-date'); 
 

 
\t  controls.find('h2').html(title); 
 
\t  controls.find('p').html(desc); 
 
\t  controls.find('.date .day').html(date.split(',')[0]); 
 
\t  controls.find('.date .month').html(date.split(',')[1]); 
 
\t  controls.find('.date .year').html(date.split(',')[2]); 
 

 
\t  } //End Update text info

demo

這被證明是更復雜比我想象的要多。



老款,不理我了:

所以我想使用JavaScript來從網頁的另一部分獲取的代碼塊,然後將其插入到不同的部分創建於

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


<div class="getVid" 
    data-epdLink="CdDDY5nVA3A" 
> 

的鏈接,所以我想從getVid DIV的代碼段,放入按鈕DIV爲紐帶。

所以我有這樣的一些JavaScript:

var endLink = current.attr('data-epdLink'); 

var fullLink = '<a href="https://www.youtube.com/watch?v=' + endLink +'">"Click for Video"</a>'; 

controls.find('button').html(fullLink) 

這似乎並沒有工作。我之前使用過這種類型的東西來插入標題和文本,但我認爲插入代碼有一些不同之處。

任何想法?

這裏有一個鏈接,撥弄是否有幫助:的jsfiddle] [3]

編輯

忘了提及,將有多個getVid類,所以這取決於我有一個開放的, data-epdLink每個都會有所不同。

編輯2

好了,所以我的新的jsfiddle你可以看到所有格式是在HTML標記VID項目格式化的頂部。接下來的兩個項目分別標記了vid項目使用javascript從vid格式化部分拉取信息。這段代碼來自一個模板,所以我不完全確定發生了什麼,但是我包含了改變每個vid項目部分圖像的javascript,因爲我認爲我可以使用這些行中的某些內容來更改按鈕鏈接。您可以在vid格式化部分的兩個表格後面看到按鈕div。

新的jsfiddle這裏:新的JS提琴] [4]

編輯3:我只是來樣開始。 首先我們要使用的模板[紅色墨水模板] [1]

當您點擊「True Gangsters」之類的投資組合項目之一時,所有信息都從div中拉出並插入前一部分格式。

我想要做的就是將一個按鈕添加到這些投資組合項目,並能夠從div拉鍊接並將其格式化爲一個按鈕。

這被證明比我想象的要複雜得多。

+0

電流或端聯是不是你想的,它的工作原理否則:https://jsfiddle.net/23g5egLo/ –

+0

這個問題現在已經在這裏重新問:http://stackoverflow.com/問題/ 38576425/one-button-mulitple-links-link-changes-depends-which-div-is-open –

回答

1

首先,你需要關閉.getVid股利。這是一個最好的做法是使用data()方法來訪問data-屬性:

var endLink = current.data('epdlink'); 

var fullLink = '<a href="https://www.youtube.com/watch?v=' + endLink +'">"Click for Video"</a>'; 

controls.filter('.button').html(fullLink); 

你會得到它爲小寫,例如edplink。我相信你的變量controls是html元素的集合,所以無論何時你必須在預選集合中使用.filter()進行搜索。

Demo

+0

這是有效的,但是有沒有一種方法來定位當前我正在考慮的getVid div?多個getVid div每個都有不同的data-epdLink? –

+0

@ S.Marie嘗試在您的問題中添加更多信息和更多代碼。 – DontVoteMeDown

+0

我添加了一些更多的信息,如果你有時間去看看 –

0

使用jQuery .append()

使用.data()而不是.attr() HTML

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


<div class="getVid" 
    data-epdLink="CdDDY5nVA3A" 
> 

JS

var endLink = $('.getVid').data('epdlink'); 

var fullLink = '<a href="https://www.youtube.com/watch?v=' + endLink +'">"Click for Video"</a>'; 

$('.button').append(fullLink) 

DEMO

如果你有多個div

$('.getVid').each(function(i, v){ 
    var endLink = $(v).data('epdlink'); 
    var fullLink = '<a href="https://www.youtube.com/watch?v=' + endLink +'">"Click for Video"</a>'; 
$(v).prev('.button').append(fullLink) 
}) 

DEMO

+0

This Works,thank you!只是一個問題,我忘了提及我會有多個getVid div。有什麼辦法可以使用current.attr來做到這一點? –

+0

@ S.Marie你可以使用單獨的Ids。或者,你想申請這個到所有的div –

+0

我可以使用單獨的ID。我是否會爲每個ID使用#newID替換.getVid而單獨製作一個JS? –