2012-08-30 61 views
0

我还没有一个好的Javascript知识,但我对jQuery有点不错。我想将一些jQuery代码更改为纯Javascript,但我不知道如何去做。jQuery到Javascript代码转换

$(document).ready(function() 
{ 
    $('#block').one('click', function() 
    { 
     $(this).val('{L_SEND_CONFIRM}').removeClass('button1'); 
     $('#replacement').val('{L_BLOCK_CODE}'); 
    }); 
}); 

任何人都愿意帮助我吗?

P.S:对不起,问这样一个愚蠢的问题,我真的需要尽快学会JavaScript。

+0

你为什么要这么做?你已经尝试过了什么? – Bergi

+1

您是否尝试将此作为学习练习或出于性能原因? jQuery只是扩展(并简化了)JavaScript,但纯JavaScript和jQuery代码可以随意混合使用。 –

+0

我试过这个: 'var block = document.getElementById('block'); function blacklist_click(){ block.className =''; block.innerHTML ='{LA_SEND_CONFIRM}'; document.getElementById('replacement')。innerHTML ='{LA_BLOCK_CODE}'; }; block.addEventHandler('click',blacklist_click); block.attachEvent('onclick',blacklist_click);' 它没有工作。我需要这个Javascript而不是jQuery,因为通过网站进行验证,他们不喜欢jQuery,因为它需要更长的时间来加载-.- – Aborted

回答

4

这是一个粗糙当量(有细微之处,如果你想解决开始越来越讨厌,因此需要对框架摆在首位):

window.onload = function() { 
    document.getElementById('block').onclick = function() { 
     this.onclick = ''; 
     this.value = '{L_SEND_CONFIRM}'; 
     this.className = this.className.replace('button1',''); 
     document.getElementById('replacement').value = '{L_BLOCK_CODE}'; 
    } 
} 
+0

不幸的是,你提供的代码不起作用,它没有改变我的价值''。有什么想法可能会出错? – Aborted

+0

@Dugi:我输入getElementBy * ID *而不是getElementBy * Id *。现在就试试吧,应该可以的。http:// jsfiddle .net/hxbMg/ –

+0

它工作,谢谢。 – Aborted

0

onreadyonload是两个不同的野兽。

onready当DOM准备好时会触发,但图形可能尚未加载。

onload当所有需要的东西(包括图形)完成时触发。

我喜欢这个图书馆在这里处理onready的东西。它使用的是支持的浏览器的DOM方法,并使用一个奇怪的IE浏览器黑客攻击时,它必须:

https://github.com/ded/domready