我有以下代码,我尝试获取一系列的element_1、element_2等等,然后随机选择其中一个。
在这段代码中,我的console.log(element_count);将按照预期记录1、2等等。
然而,所有这些都会导致random_element从字面上变成"element_2“而不是$('<div class="fruit oranges">2</div>')。
是不是和element_counted = 'element_' + element_count;有关
jQuery(document).ready(function($) {
  var element_count = 0;
  var element_1 = $('<div class="fruit apples">1</div>');
  var element_count = element_count + 1,
    element_counted = 'element_' + element_count;
  console.log(element_count);
  var element_2 = $('<div class="fruit oranges">2</div>');
  var element_count = element_count + 1,
    element_counted = 'element_' + element_count;
  console.log(element_count);
  var random_element = element_counted; // This becomes 'element_2' instead of element_2's variable content.
  console.log(random_element);
  $('.element-placeholder').replaceWith(random_element);
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class=".element-placeholder">element_2</div>
<!--This should be one of the .fruit divs instead of the text "pane_2"-->
发布于 2021-01-27 23:45:10
您可以尝试通过访问包含名称的字符串来访问元素
我想你是故意这么做的
$(function() {
  const elements = [
    $('<div class="fruit apples">Appels 1</div>'),
    $('<div class="fruit oranges">Oranges 2</div>')
  ]
  const random_element = elements[Math.floor(Math.random() * elements.length)]
  $('.element-placeholder').replaceWith(random_element);
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="element-placeholder"></div>
<!--This should be one of the .fruit divs instead of the text "pane_2"-->
https://stackoverflow.com/questions/65922415
复制相似问题