2011-10-25 88 views
2

我有一個JavaScript,我希望我的用戶能夠放在他們的網站上。在這個JavaScript中,我想要生成一個簡單的按鈕,即位於JavaScript已被粘貼到網站的確切位置。我怎樣才能做到這一點?這很簡單,如果我可以給我的<script>標記一個id,然後獲取具有特定ID的元素並追加它,但我不能。在腳本標記後添加按鈕

例如,如果我有這樣的事情:

<body> 
<p>test para</p> 
<p>test para</p><p>test para</p><p>test para</p> 
<p>test para</p> 
<div>test div</div> 
<script src="embed.js" type="text/javascript"></script> 
<div>last div</div> 
</body> 

我希望我的按鈕向右test divlast div之間放置(之前或script標籤之後,它並不重要)。我可以這樣做嗎?

+0

是一個iframe出了問題嗎?或'data-'屬性?或角色屬性? – Val

+0

iframe肯定是的。除此之外,所有在主流瀏覽器中都有效的東西。 –

回答

5

你能不能用after -

$("div:contains('test div')").after('<input type="button"/>'); 

這顯然會更好,如果你可以給「DIV」的ID或類,而不是由它包含的文本找到它。

jQuery的可以用找到的腳本標籤 -

$("script[src='embed.js']").after('<input type="button"/>') 

演示 - http://jsfiddle.net/7GPx7/1

+0

這只是一個例子,我想獲取腳本元素,而不是它之前的'div',這可能導致在一個站點上它不會是我的腳本元素之前的'div',也許它會是' p'或其他東西。 –

+0

確定 - 已更新的答案。 – ipr101

+0

謝謝,作品像一個魅力。 –

2

嵌入你可能要考慮的JavaScript的東西是你的訪客可能沒有在其網站上啓用jQuery的,所以你可以臃腫調用通過加載jQuery或在純JavaScript中構建您的需求。

的嵌入代碼段爲您的訪客

<script id="eduard_luca" src="http://cdn.example.com/embed.js" type="text/javascript"></script> 

embed.js

var element = document.createElement('a'); 
element.setAttribute('href','http://google.com'); 
element.innerHTML = 'Click Me'; 

document.getElementById("eduard_luca").appendChild(element); 

我希望這可以幫助您與您的項目。

+1

我正在處理我的embed.js腳本中的jQuery加載(如果尚未加載)。所以我想畢竟是給一個'script'標記一個'id'。謝謝。 –