2011-09-19 43 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 
}); 
)); 
相关问题