2013-12-24 2 views
-1

Обычно я не очень разбираюсь в Javascript, но последние несколько дней работал над этой проблемой. В основном у меня есть текст в таблице, где сам текст является ссылкой, которая при нажатии выбирает текст. Я использую Tipsy для отображения сообщения «Нажмите, чтобы выбрать текст», когда ссылка зависнет. После щелчка ссылки (и выбранного текста) я хочу, чтобы исходный текст, отображаемый в подсказках, отображался в гиперссылке. Я могу получить текст для изменения, но ссылка является простым текстом, а не ссылкой на клики.Гиперссылка Javascript отображается как текст, а не ссылка на клики

Вот пример одной строки текста (функция fnSelect использует класс для выбора всего текста в строке таблицы).

 <td class="text"><a id="fade_text1" href="javascript:fnSelect('tom1');" onClick="alternate()" original-title="Click To Select Text"><?php echo $book['text']; ?></a></td> 

Функция чередовать() является тот, который я пытаюсь использовать для отображения гиперссылки, изменяя оригинал-заголовок и заключается в следующем.

function alternate() { 
    $(".tipsy").remove(); 
    var link = "site.com/bookmark.php"; 
    var element = document.createElement("a"); 
    element.setAttribute("href", link); 
    element.innerHTML = "Bookmark Text"; 
    document.body.appendChild(element); 
     $('#fade_text1').tipsy({delayIn: 90, delayOut: 3000}); 
    $('a').click(function() { 
     $('#fade_text1').attr('original-title', element); 
    }); 
} 

Я не могу сказать вам, сколько раз я изменил это, пытаясь выяснить, как сделать элемент ссылку кликабельным, но не повезло. Любая помощь, которую вы могли бы предложить, была бы оценена по достоинству.

+0

Что это за случайное «#», выполняемое в вашем якоре? – ohiodoug

+0

@ohiodoug Это был пропущенный возврат к чему-то другому, и я удалил его, но все же не стал кликать. Спасибо что подметил это. – TotalEclipse

+0

Вы должны указать более подробную информацию. Вы проверили с помощью «контрольного элемента», что изменение действительно происходит? Ваш код добавляет ссылку в конец элемента body, он не заменяет ссылку, на которую вы нажали. Также вам нужно использовать метод jQuery '.on' для динамически создаваемых элементов – raam86

ответ

0

Ну, я настойчив, если ничего другого. Ответ был довольно простым на самом деле:

$(document).ready(function(){ 
    $('#1').tipsy({fade: true, opacity: 1.0, html: true, delayOut: 4000}); 
}); 


<?php 
    $link = "index.php"; 
    $text = "<a href=" . $link . ">Bookmark Text</a>"; 
?> 


<a id="1" href="#" title="This is a Test" onclick="$('#1').attr('title', '<?php echo $text; ?>');"><?php echo "Click Me"; ?></a> 
+0

Приятно слышать, но SO для вопросов и ответов, и так как это не ответ, вы должны написать комментарий к вопросу. – raam86

+0

Я отредактировал это с правильным ответом на проблему. – TotalEclipse

0

заменить:

<a id="fade_text1" href="javascript:fnSelect('tom1');" "#" onClick="alternate()" original-title="Click To Select Text"><?php echo $book['text']; ?></a> 

с:

<a id="fade_text1" href="javascript:fnSelect('tom1');" onClick="alternate()" original-title="Click To Select Text"><?php echo $book['text']; ?></a> 

у вас есть дополнительный "#" в вашем <a> тег, который вызывает этот результат.

надеюсь, что это поможет.

+0

Я понял это, но проблема остается. Спасибо за ответ. – TotalEclipse

Смежные вопросы