2011-09-19 77 views
0
<div id="text">some text</div> 

<img src="#" onclick="$.function('http://url.com?q=some+text')"/> 

我希望q=使用前一段中的文本是動態的。我可以把文字變成一個變量使用jquery的動態javascript

var str = $("#text").text(); 

但我很努力地動態輸出這個。


編輯:

它比我想象的要簡單得多,想通了,從Darin的答案的解決方案:

<div id="text"><p>Testing text to speech</p></div> 
    <div id="textlink"></div> 
    <img src="#" onclick="$.sound.play('http://translate.google.com/translate_tts?q='+ str)" /> 
<script> 
var str = $("#text").text(); 
</script> 

只需要知道如何添加一個變量。由於

+5

你想讓'onclick'做什麼? – Neal

+0

其有趣的是已經有4個答案,但只能假設我們知道OP想要什麼,因爲他的問題還不夠清楚。我們是否真的幫助他通過我們的假設發送垃圾郵件?或者我們是否應該等待他澄清他的問題,並更好地解釋他想要做的事情? –

+0

@JohnHartsock這似乎更有趣^ _^ – Neal

回答

2

讓我和拍攝黑暗:

<img src="#" onclick="window.location.href = 'http://url.com?q=' + encodeURIComponent($('#text').text());" /> 

,或者如果你想要動態分配這src

<img src="#" id="foo"/> 

然後:

$(function() { 
    $('#foo').click(function() { 
     window.location.href = 'http://url.com?q=' + encodeURIComponent($("#text").text()); 
    }); 
}); 
2

什麼我覺得開始你想做的事:

$('img').click(function(){ 
    var str = $("#text").text(); 
    alert('http://url.com?q=' + str); 
}); 

或者maayyyyybe:

$('img').click(function(){ 
    var str = $("#text").text(); 
    window.location = 'http://url.com?q=' + encodeURIComponent(str); 
}); 

甚至:

$('img').click(function(){ 
    var str = $("#text").text(); 
    this.src = 'http://url.com?q=' + encodeURIComponent(str); 
}); 

小提琴:http://jsfiddle.net/maniator/UrDRX/
(在HTML5眉頭工作SERS,編輯顏色代碼)

和和....

0

也許,如果你想使用該段的全部文本內容:

var str = encodeURIComponent($('#text').text()); 

$('#linkId').attr('href','http://url.com?q=' + str); 

JS Fiddle demo

1

分離問題。在這種情況下,您希望將行爲(javascript)與內容(html)和樣式(css)分開。 - http://en.wikipedia.org/wiki/Separation_of_concerns

因此... onclick="x();"不是優選的。相反:

$(document).ready(function(
$("#buttonId").click(function() { 
    var val = $("#text").text(); 
    var url = 'http://url.com?q=' + encodeURIComponent(val); 

    alert(url); // or window.location or whatever you want to accomplish 
}); 
));