如何将传递的字符串转换为 jQuery 对象?

How to convert a passed String to a jQuery Object?

重大更新

doFade(paddleID);   // = "gamePaddle"

function doFade(objStrID) {

    $(document).ready(function() {

        var queryObj = $("#" + objStrID);
    
        queryObj.fadeOut(3000);

    });   // $(document).ready(function() {

}   // doFade

Keyvan 和 Lalalena,我发现了我的问题...

只要我的 .html 处于顶层:

<img id="gamePaddle" src="Game_1_Support/images/king.gif" alt="paddle" />

您所有的耐心指导都有效!!

但是 ...我的 .html 有:

<canvas id="gameBoard">

<img id="gamePaddle" src="Game_1_Support/images/king.gif" alt="paddle" />

</canvas>

零!

所以,问题似乎出在另一个 div、“canvas”

中我的 img“gamePaddle”的掩埋位置

希望你的耐心没有被我耗尽?

我已尝试通过以下方式插入此所需的更正:

doFade("#gameBoard > #gamePaddle");

function doFade(objStrID) {

    $(document).ready(function() {

        var queryObj = $(objStrID);
    
        queryObj.fadeOut(3000);

    });

}   // doFade

...仍然为零

结束更新

如何将传递的字符串转换为 jQuery 对象?

HTML

<img id="gamePaddle" src="Game_1_Support/images/king.gif" alt="paddle" />

这是我的 JS -- 我调用 doFade("#gamePaddle")

function doFade(objectID) {

//  var theObject = document.getElementById(objectID);

//  alert(typeof objectID === 'string' || objectID instanceof String);   // true
//  alert($(objectID))   // [object Object]

    $(objectID).fadeOut(3000);
    
}   // doFade

我也试过硬编码但失败了:

$("#gamePaddle").fadeOut(3000);

显然,我做错了什么,我的直觉是这是非常基本的——如果你愿意,我需要一些帮助。

请试试这个:

function doFade(objectID) {

//  var theObject = document.getElementById(objectID);

//  alert(typeof objectID === 'string' || objectID instanceof String);   // true
//  alert($(objectID))   // [object Object]

    $(objectID).fadeOut(3000);
    
}   // 

doFade('#gamePaddle')

https://jsfiddle.net/2nuo83cm/

这对我有用。您确定您已正确包含 jQuery,并且您是否在 document.ready 或其他事件侦听器中调用该函数?

function doFade(objectID) {
    $(`#${objectID}`).fadeOut(3000);
}
    
$(document).ready(function() {
    doFade('gamePaddle');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img id="gamePaddle" src="https://cdn.pixabay.com/photo/2019/07/30/18/26/surface-4373559_960_720.jpg" alt="paddle">