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

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

Я хочу, чтобы q= был динамическим, используя текст предыдущего абзаца. Я могу получить текст в переменнуюдинамический javascript с использованием jquery

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

но я изо всех сил пытаюсь вывести это динамически.


EDIT:

Это гораздо проще, чем я думал, выяснял решение от ответа Дарин в:

<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

Lemme стрелять в темноте:

<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); 
}); 

Fiddle: http://jsfiddle.net/maniator/UrDRX/
(работает в HTML5 brow ГКР, редактировать код цвета)

А дальше и дальше ....

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 
}); 
)); 
Смежные вопросы