2010-03-30 2 views
0

У меня есть следующий код JavaScript, который мне нравится преобразовывать в jQuery, но ему не повезло.Преобразование JavaScript в jQuery

var mySplitResult = xvotesString[htmlid].split('~'); 
target3 = document.getElementById ('xvote-' + htmlid); 
target3.style.width = mySplitResult[0] + 'px'; 
if (target4 = document.getElementById ('mnma-' + htmlid)); 
    target4.innerHTML = mySplitResult[1];; 
if (target5 = document.getElementById ('mnmb-' + htmlid)); 
    target5.innerHTML = mySplitResult[2];; 
if (target6 = document.getElementById ('mnmc-' + htmlid)); 
    target6.style.display='none';; 
if (target6 = document.getElementById ('mnmd-' + htmlid)); 
    target6.style.display='block'; 
target7 = document.getElementById ('xvotes-' + htmlid); 
target7.className = 'star-rating-noh'; 

Любая помощь очень ценится.

+1

Моя первая рекомендация будет двигаться все ваши 'echo''d кода Javascript вне сервера тегов, чтобы сделать его более удобным для чтения. – Aaron

+0

Yikes! ________ –

+4

было бы лучше, если бы вы опубликовали то, что вы уже пробовали, чтобы мы могли рассказать вам, что не так ... –

ответ

4
var mySplitResult = xvotesString[htmlid].split('~'); 

$('#xvote-' + htmlid).width(mySplitResult[0] + 'px'); 
$('#mnma-' + htmlid).html(mySplitResult[1]); 
$('#mnmb-' + htmlid).html(mySplitResult[2]); 
$('#mnmc-' + htmlid).hide(); 
$('#mnmd-' + htmlid).show(); 
$('#xvotes-' + htmlid).addClass('star-rating-noh'); 
+0

Просто примечание: в последней строке Прямое преобразование было бы переопределить имя класса. Но все работает;) –

+0

Спасибо. Он отлично работал :) – bloggerious

0

Преобразование в более сжатый JavaScript?

var results = xvotesString[htmlid].split('~'), 
    elem = function elem(prefix) { 
     return document.getElementById(prefix + htmlid); 
    } 
if(var t3 = elem('xvote-')) 
    t3.style.width = results[0] + 'px'; 
if(var t4 = elem('mnma-')) 
    t4.innerHTML = results[1]; 
if(var t5 = elem('mnma-')) 
    t5.innerHTML = results[2]; 
if(var t6 = elem('mnmc-')) 
    t6.style.display='none'; 
if(t6 = elem('mnmd-')) 
    t6.style.display='block'; 
if(var t7 = elem('xvotes-')) 
    t7.className += ' star-rating-noh'; 
0
var mySplitResult = xvotesString[htmlid].split('~'); 

$('#xvote-' + htmlid).css('width', mySplitResult[0] + 'px'); 

if ($('#mnma-' + htmlid).length > 0); 
    $('#mnma-' + htmlid).html(mySplitResult[1]); 

if ($('#mnmb-' + htmlid).length > 0); 
    $('#mnmb-' + htmlid).html(mySplitResult[2]); 

if ($('#mnmc-' + htmlid).length > 0); 
    $('#mnmc-' + htmlid).css('display', 'none'); 

if ($('#mnmd-' + htmlid).length > 0); 
    $('#mnmd-' + htmlid).css('display', 'block'); 

$('#xvotes-' + htmlid).addClass('star-rating-noh'); 

или

var mySplitResult = xvotesString[htmlid].split('~'), 
     target3 = $('#xvote-' + htmlid), 
     target4 = $('#mnma-' + htmlid), 
     target5 = $('#mnmb-' + htmlid), 
     target6 = $('#mnmc-' + htmlid), 
     target0 = $('#mnmd-' + htmlid), //replace target6 
     target7 = $('#xvotes-' + htmlid); 

$(target3).css('width', mySplitResult[0] + 'px'); 

if ($(target4).length > 0); 
    $(target4).html(mySplitResult[1]); 

if ($(target5).length > 0); 
    $(target5).html(mySplitResult[2]); 

if ($(target6).length > 0); 
    $(target6).css('display', 'none'); 

if ($(target0).length > 0); 
    $(target0).css('display', 'block'); 

$(target7).addClass('star-rating-noh'); 
+0

Нет необходимости проверять длину возвращаемого объекта jQuery - вызов метода в объекте jQuery без совпадений (т. Е. «Пустой» объект jQuery) не будет вызывать ошибку. –

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