Небольшие пожелания
А я предлагаю предложение генерить линь a.treadstatus как дубль, ведь все равно AJAX “Отметить тему прочитанной” не используется
Хорошая идея, реализуемо на jQuery, тогда .gotonewpost можно вообще убрать
(Только тут jQuery не подключен, а то мну мог бы нарисовать скриптик…
<script type=“text/javascript”>
$(‘.threadbit.new’).each(function (){
var L = $(this).find(‘.gotonewpost’).parent().attr(‘href’);
$(this).find(‘.threadstatus’).attr(‘href’,L);
$(this).find(‘.gotonewpost’).parent().remove();
});
</script>
Кто-нибудь может перевести это на традиционный JS ?
Комменты нужны?
“Быдлокодовый” скрипт … если будет политическая воля, дайте знать, добавлю еще немного проверок и потестирую
...
<body>
...
<script>
(function() {
var getThreadstatusNode = function(imgNewPost){
return imgNewPost
.parentElement // <a id="thread_gotonew_...
.parentElement // <h3 class="threadtitle">
.parentElement // <div class="inner">
.previousElementSibling; // <a rel="vB::AJAX" class="threadstatus"></a>
};
var newPostImgs = document.getElementsByClassName("gotonewpost");
for (var i in newPostImgs) {
var aNewPostClone,
aThreadstatusNode,
isOwn = (
newPostImgs.hasOwnProperty(i) &&
/^0$|^[1-9]\d*$/.test(i) &&
i <= 4294967294
);
if (isOwn) {
aNewPostClone
= newPostImgs[i]
.parentElement
.cloneNode(false);
aNewPostClone.removeAttribute("id");
aNewPostClone.className
= (aNewPostClone.className==""?"":aNewPostClone.className+" ") + "threadstatus";
aThreadstatusNode = getThreadstatusNode(newPostImgs[i]);
aThreadstatusNode
.parentElement //<div class="threadinfo" title="...">
.replaceChild(aNewPostClone, aThreadstatusNode)
}
}
})();
</script>
</body>
</html>
TRAHOMOTO
Чот заморочено слишком, неужели код на традиционном JavaScript настолько длиннее, чем на jQuery?
=====================================================================================================
aThreadstatusNode .parentElement //<div class="threadinfo" title="..."> .replaceChild(aNewPostClone, aThreadstatusNode) } } })();
Может так:
aThreadstatusNode .parentElement //<div class="threadinfo" title="..."> .replaceChild(aNewPostClone, aThreadstatusNode) } } }());
(В конце - }());
Виталий, прошу Вас не давайте мне пилюлю, я уверен Вы поддержите меня в этом вопросе, Вы ведь тоже Web Developer?
Александр.
Это проблема всех девелоперов, которые стартовали свою карьеру сразу jQ, пропустив БАЗУ JS и ECMAScript. Нет, в моем коде нет ошибки, нет проверок на наличие Нод, это да. Почитайте Java Script Bible - весьма полезное чтиво, очень расширяет кругозор 😉
Попробуйте такой код
(function(message){
alert(message);
})("Hello world");
Это называется анонимная рантайм функция, по сути объявление и вызов метода в одном флаконе. Я ее сделал таковой, чтобы не навешивать хендлер на “загрузку” DOM, т.к. кроссраузерная реализация по объему будет как весь этот скрипт!
Я не буду ничего править на вобле. Инфа 146%. В закрепленной теме написано почему.
Комменты нужны только по нодеке, позже.
ha$h
У меня при клике на появляется окошко (prompt) для ввода ссылки.
Добрый день. Есть просьба увеличть длительность сеанса активности аккаунта. Не успеваешь написать пост, даже не очень большой, а тебе: “…вы не имеете права…”. Если не сохранишь текст, то нужно опять набирать. Здесь очень быстро выкидывает из сеанса. На других форумах тоже встречалось такое, но администрация шла навстречу и становилось удобнее пользоваться ресурсом. Спасибо!