|
|
|
| Можно ли считать правильным нижеприведенный код страницы, содержащий ссылку на основе ДОМ объекта:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ПРИМЕР</title>
</head>
<body>
<div id="one" title="http://site.ru/" style='display:none'>Жми сюда</div>
<script>
a= document.getElementById('one');
document.write("<a href='"+a.title+"'>"+a.innerHTML+"</a>");
</script>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Владимир55
(05.03.2009 в 12:27)
| | А какой критерий "правильности" вы используете? Работает не работает? Валидный код, не валидный? С какой точки зрения хотите оценить пример? | |
|
|
|
|
|
|
|
для: cheops
(05.03.2009 в 16:37)
| | В работе я эту ссылку попробовал. Работает. Ну, мало ли, что она работает, может это кустарщина...
Так что оценка нужна с позиции корректности (валидности).
А еще хотелось бы его усложнить каким-либо образом, чтобы исключить компоненту http://site.ru/. Например, как-нибудь разбить её на части.
============
Ссылка предназначена для сокрытия от ботов. | |
|
|
|
|
|
|
|
для: Владимир55
(05.03.2009 в 19:27)
| | Да как сказать, кустарщина...)
Вообще-то все нормуль, но document.write и innerHTML W3C использовать не рекомендует...
И еще я бы сделал так:
<script>
var a = document.getElementById('one');
document.write("<a href='"+a.title+"'>"+a.innerHTML+"</a>");
</script>
|
| |
|
|
|
|
|
|
|
для: amigo63
(05.03.2009 в 22:04)
| | Мне самому не нравится вот это:
<div id="one" title="http://site.ru/" style='display:none'>Жми сюда</div>
| Не нравится то, что там фигурирует адрес сайта http://site.ru/. Можно ли от этого избавться? Чтобы в чистом виде адреса не было - пусть скрипт как-нибудь собирает его из частей. Возможно это? | |
|
|
|
|
|
|
|
для: Владимир55
(05.03.2009 в 22:19)
| | <head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ПРИМЕР</title>
</head>
<body>
<div id="one" title="site_1_ru" style='display:none'>Жми сюда</div>
<script>
var a = document.getElementById('one');
var link = a.title.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'/">'+a.innerHTML+'</a>');
</script>
</body>
</html>
ну вот как-то так | |
|
|
|
|
|
|
|
для: amigo63
(05.03.2009 в 22:39)
| | Вот так работает:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>ПРИМЕР</title>
</head>
<body>
<div id="one" title="site_1_ru" style='display:none'>Жми сюда</div>
<script>
var a = document.getElementById('one');
var link = a.title.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'/">'+a.innerHTML+'</a>');
</script>
</body>
|
И само решение очень интересное.
А как можно в разных местах одной странице разместить ДВЕ таких же ссылки на один и тот же УРЛ?
Простое дублирование кода достигнуть этого не позволяет. | |
|
|
|
|
|
|
|
для: Владимир55
(05.03.2009 в 23:16)
| | Честно говоря, я новичок в JS :) разве вставка
<script>
var a = document.getElementById('one');
var link = a.title.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'/">'+a.innerHTML+'</a>');
</script>
|
в разные места страницы не срабатывает? | |
|
|
|
|
|
|
|
для: amigo63
(06.03.2009 в 13:06)
| | Да, так работает. А если сделать разные id, то можно и ссылки иметь самостоятельные. Так что спасибо!
Однако проявился другой досадный нюанс: попробуйте в качестве адреса использовать http://site.ru/?mm=1&ss=2
Ошибка возникает!
Можете это поправить? | |
|
|
|
|
|
|
|
для: Владимир55
(06.03.2009 в 13:57)
| | Попорбуйте
var t=encodeURIComponent(a.title);
var link = t.split("_1_");
|
или заменить & На & | |
|
|
|
|
|
|
|
для: amigo63
(06.03.2009 в 15:06)
| | Не понял.
Не могли бы Вы написать код полностью? | |
|
|
|
|
|
|
|
для: Владимир55
(06.03.2009 в 16:27)
| |
<script>
var a = document.getElementById('one');
var t=encodeURIComponent(a.title);
var link = t.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'/">'+a.innerHTML+'</a>');
</script>
|
но я не уверен, что поможет. А какую ошибку выдает? | |
|
|
|
|
|
|
|
для: amigo63
(06.03.2009 в 16:36)
| | Последний вариант вообще не дает ссылки (не кличестся). Даже когда мышку подносишь, рука не появляется.
А предыдущий код при наличии динамического адреса в конце его дает слеш. Получается так:
http://site.ru/?mm=1&ss=2/
|
Такая же ситуация возникает при ссылке на конкретную страницу. Вместо
получаем
| |
|
|
|
|
|
|
|
для: Владимир55
(06.03.2009 в 16:48)
| |
<script>
var a = document.getElementById('one');
var t=encodeURIComponent(a.title);
var link = t.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'">'+a.innerHTML+'</a>');
</script>
|
или так
<script>
var a = document.getElementById('one');
var link = a.title.split("_1_");
var p = 'http';
document.write('<a href="'+p+'://'+link[0]+'.'+link[1]+'">'+a.innerHTML+'</a>');
</script>
|
| |
|
|
|
|
|
|
|
для: amigo63
(06.03.2009 в 16:56)
| | Второй вариант работает!
Да как здорово работает!
Спасибо! | |
|
|
|