如何将传递的字符串转换为 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')
这对我有用。您确定您已正确包含 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">
重大更新
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')
这对我有用。您确定您已正确包含 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">