gpt4 book ai didi

javascript 函数仅适用于第一个元素

转载 作者:行者123 更新时间:2023-11-28 07:50:30 24 4
gpt4 key购买 nike

我有一个 xsl 文件,我能够让它在单击功能中显示标题,但我只能显示第一个标题,其他标题保持隐藏,并且无论使用哪个按钮,第一个标题都会显示调用该函数。该函数在按下按钮后也不会隐藏按钮,因此该函数和特定行一定有问题吗?我也用 Internet Explorer 打开它..

    <script language="javascript">
function ShowTitle(title, btn)
{
document.getElementById("title").style.display = 'inline'
title.style.display = 'inline'
btn.style.display = 'none'
}
</script>

<body>

<xsl:for-each select="/questions/question/movie[position() >1]">

<div style="background-color:tan;color:black;">
<span style="font-weight:bold">In What Movie Did They Say:
<xsl:value-of select="quote"/> -
</span>
<input type="button" value="Show title" onclick="ShowTitle('title', this)"></input>
<span id="title" style="display:none">
<xsl:value-of select="title"/></span>
</div>
<div style="margin-bottom:1em;font-size:15pt">
</div>
<br/>

</xsl:for-each>

最佳答案

正如 OJay 所说,问题是当您的 XSL 使用此 id 生成多个元素时,您试图通过 id 检索元素。

您应该更改 html 的这一部分

<div style="background-color:tan;color:black;">
<span style="font-weight:bold">In What Movie Did They Say:
<xsl:value-of select="quote"/> -
</span>
<input type="button" value="Show title" onclick="ShowTitle(this)"></input>
<span class="title" style="display:none">
<xsl:value-of select="title"/>
</span>
</div>

然后您可以更新您的 ShowTitle 方法,如下所示:

function ShowTitle(btn) {
// get the btn's parent element. In this case the div
var btnParentDiv = btn.parentElement;

// use getElementsByClassName to retrieve the title
// getElementsByClassName returns an array of elements.
// In this case this is an array of length == 1
// we're just interested in the first result, so get it immediately
var divTitleElement = btnParentDiv.getElementsByClassName('title')[0];


// Set the selected element to be visible
divTitleElement.style.display = 'inline'

// hide the button as before
btn.style.display = 'none'
}

此代码可以缩短,但我已拆分了一些步骤以包含说明

关于javascript 函数仅适用于第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26877581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com