Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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
Javascript .html()不在第二个id中工作,但在第一个id中_Javascript_Jquery - Fatal编程技术网

Javascript .html()不在第二个id中工作,但在第一个id中

Javascript .html()不在第二个id中工作,但在第一个id中,javascript,jquery,Javascript,Jquery,当您按下按钮时,它使用html中的onClick方法调用randomQuote()函数。它可以很好地工作,改变背景颜色,引号[rand]的文本也可以工作。但是by-id元素没有变化。另外,这不是数组问题,因为如果我在randomQuote()之外键入相同的by语句,它就可以正常工作 代码如下: function randomQuote(){ var rand =Math.floor(Math.random()*(quotes.length)); $("#qu").html(quotes[ran

当您按下按钮时,它使用html中的onClick方法调用randomQuote()函数。它可以很好地工作,改变背景颜色,引号[rand]的文本也可以工作。但是by-id元素没有变化。另外,这不是数组问题,因为如果我在randomQuote()之外键入相同的by语句,它就可以正常工作

代码如下:

function randomQuote(){
var rand =Math.floor(Math.random()*(quotes.length)); 
$("#qu").html(quotes[rand]); 
$("#by").html(by[rand]);
$("body").animate({backgroundColor: colorr[rand]}, 1000); 
};

(转到)有关完整代码,请参见标记中的问题:

 <div class="quote">
    <blockquote id="qu">
       Here are some of my favourite quotes.Hope you enjoy them!   
       <p id="by">
         random text
       </p>
    </blockquote>
 </div>

以下是我最喜欢的几句话,希望你喜欢!

随机文本

id=“by”的容器被这个jquery方法$(“#qu”).html(引号[rand])覆盖; 如果您想防止这种行为,只需使用id=“qu”将文本包装在新段落中:


以下是我最喜欢的几句话,希望你喜欢!

随机文本


问题在于,您的
by
元素属于
blockguote
内部,即当您执行
$(“#qu”).html(引号[rand])时,
id=qu
元素 它的html结构发生了变化。您不再具有
by
元素。 因此,当您尝试
$(“#by”).html(by[rand])什么也没发生。因为找不到
by
元素

解决方案:将您的
元素移动到
块引号外


工作代码:

您必须在blockquote内将id分成两段。你不能先给出blockquote和id,然后期望段落标记也在其中提取id。blockquote覆盖了它

<blockquote>
<p id="qu">
Here are some of my favourite quotes.Hope you enjoy them!   
  <p>
  <p id="by">
    random text
  </p>
</blockquote>

以下是我最喜欢的几句话,希望你喜欢!

随机文本


“转到获取完整代码”否。在问题中添加一个,而不仅仅是一个指向外部资源的链接。在
$(“#by”).html(by[rand])中,什么是
by
<blockquote>
<p id="qu">
Here are some of my favourite quotes.Hope you enjoy them!   
  <p>
  <p id="by">
    random text
  </p>
</blockquote>