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