Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中重写此javascript?_Javascript_Jquery - Fatal编程技术网

如何在jQuery中重写此javascript?

如何在jQuery中重写此javascript?,javascript,jquery,Javascript,Jquery,我有一个javascript生成一些随机字符串,我想在jQuery中重写: function randomString() { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!@#$%^&*()_+"; var string_length = 8; var randomStr = ''; for (var i=0; i<

我有一个javascript生成一些随机字符串,我想在jQuery中重写:

function randomString() {
        var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!@#$%^&*()_+";
        var string_length = 8;
        var randomStr = '';
        for (var i=0; i<string_length; i++) {
            var rnum = Math.floor(Math.random() * chars.length);
            randomStr += chars.substring(rnum,rnum+1);
        }
        document.getElementById('randomfield').innerHTML=randomStr;
    }
函数randomString(){
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz!@$%^&*()“;
变量字符串长度=8;
var randomStr='';

对于(var i=0;iFirst things First:jQuery是javascript,因此无需重写。重写函数的原因是为了使其更易于重用:

// Instead of apply a random string value to a specific DOM element
// .. create a random string and return its value

function getRandomString() {
    var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!@#$%^&*()_+";
    var string_length = 8;
    var randomStr = '';
    for (var i=0; i<string_length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomStr += chars.substring(rnum,rnum+1);
    }
    return randomStr;
}

// Quite useful, because we can now use it whenever we want. 
// For example use it within a click handler function:

$('#button').on('click', function () {
    $('#randomfield').text(getRandomString());        
});
//而不是对特定DOM元素应用随机字符串值
//..创建一个随机字符串并返回其值
函数getRandomString(){
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz!@$%^&*()“;
变量字符串长度=8;
var randomStr='';

对于(var i=0;i基于您的命令,您希望使用所单击内容的引用。因此,调用该函数

$('.className').click(randomString);
它会将其设置为对象,因此在randomString中可以使用
$(this.text(randomStr);


函数randomString(){
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz!@$%^&*()“;
变量字符串长度=8;
var randomStr='';

for(var i=0;i小部件工厂允许您添加jQuery函数;它看起来像这样

$.widget('nt.randomString', {
     var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!@#$%^&*()_+";
        var string_length = 8;
        var randomStr = '';
        for (var i=0; i<string_length; i++) {
            var rnum = Math.floor(Math.random() * chars.length);
            randomStr += chars.substring(rnum,rnum+1);
});
$("#randomfield").randomString.text()
$.widget('nt.randomString'{
var chars=“0123456789abcdefghijklmnopqrstuvwxtzabcdfghiklmnopqrstuvwxyz!@$%^&*()“;
变量字符串长度=8;
var randomStr='';

对于(var i=0;iWhy)…..?请分享您尝试过的内容。jquery没有任何字符串操作,因此唯一会更改的行是倒数第二行。@KevinB,它可能是一个
返回
语句,而不是引起副作用。@NiettheDarkAbsol
$('#randomfield').html(randomStr);
:)OP显然没有问这个问题,阅读他的问题。这并没有降低它的有用性;我已经重写了代码(您可以立即看到为什么重写是有用的)我重新阅读了这个问题,认为这是一个有效的答案。对于没有经验的用户,一点解释可以让他们更容易理解。尽管如此,我还是加了+1。他现在更改了答案,看起来不像是有效的javascript…缺少了一些东西。你也可以构建自己的链接API。谢谢,这很有效。我用$('.key')替换了$(这个)我希望字符串出现在哪个div中,它工作得很好。
$.widget('nt.randomString', {
     var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz!@#$%^&*()_+";
        var string_length = 8;
        var randomStr = '';
        for (var i=0; i<string_length; i++) {
            var rnum = Math.floor(Math.random() * chars.length);
            randomStr += chars.substring(rnum,rnum+1);
});
$("#randomfield").randomString.text()