JavaScript使用哪个/如何正确使用循环进行HTML更改?

发布于 2025-01-22 14:43:41 字数 887 浏览 0 评论 0原文

我是JavaScript的新手,并试图更改行的HTML内容。

一个朋友为我制作了这个代码的朋友有所帮助,但我遇到了重大问题。

情况是: 我正在创建SharePoint 2013中的常见问题解答,此代码应该读取列表,读取3个信息(类别,问答),然后替换我想要的HTML。

问题在于它在每个“ .cd-faq__trigger”上运行,它的内部是“ i. category”,将它们全部更改为相同的“ i.question”

function ChangeHTML(){
        var items = GetListItems("X", "Y", "Z")

        items.forEach(function(i){ 
            $('#'+i.category+' .cd-faq__trigger').html(i.question)
        });
        }
    }
-----------------HTML ------------------

<div class="cd-faq__items">
    <ul id="Compras_TI" class="cd-faq__group">
        <li class="cd-faq__title"><h2>Compras TI</h2></li>
        <li class="cd-faq__item">
            <a id="trigger" class="cd-faq__trigger" href="#0"><span id="texto"></span></a>
        </li>
    </ul>
</div>
    

I am new in Javascript and trying to change the HTML content of a line.

I've been helped a little by a friend who made this code for me, but I'm running into major issues.

The situation is:
I'm creating a FAQ in SharePoint 2013, and this code is supposed to read a list, read 3 informations (Category, Question and Answer) and then substitute the HTML where I want it to.

The issue is that it is running on every '.cd-faq__trigger' that is inside it's "i.category", changing them all to the same "i.question"

function ChangeHTML(){
        var items = GetListItems("X", "Y", "Z")

        items.forEach(function(i){ 
            $('#'+i.category+' .cd-faq__trigger').html(i.question)
        });
        }
    }
-----------------HTML ------------------

<div class="cd-faq__items">
    <ul id="Compras_TI" class="cd-faq__group">
        <li class="cd-faq__title"><h2>Compras TI</h2></li>
        <li class="cd-faq__item">
            <a id="trigger" class="cd-faq__trigger" href="#0"><span id="texto"></span></a>
        </li>
    </ul>
</div>
    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

谜兔 2025-01-29 14:43:41

最终弄清楚了如何做...使脚本从头开始写整个HTML,然后无需替代。

脚本:

 function AddCategory(){
        var items = GetListItems("ListID", "caml", "url")
        items.forEach(function(i){ 
            $('#'+i.Categoria).append('<li class="cd-faq__item"><a id="trigger" class="cd-faq__trigger trigger" href="#0"><span>'+i.Pergunta+'</span></a><div class="cd-faq__content"><div class="text-component"><p>'+i.Resposta+'</p></div></div></li>')  
        });
    } 

'i.categoria'=列表中的每个类别。
'i.pergunta'=列表中发布的每个问题。
'i.Resposta'=列表中发布的每个答案。

html:

<div class="cd-faq__items">
      <ul id="Compras_TI" class="cd-faq__group">
             <li class="cd-faq__title"><h2>Compras TI</h2></li>       
      </ul> <!-- cd-faq__group -->
</div>
        

因此,它寻找帖子的类别,并且它的内部附加了html添加了html,添加了它的问题和答案。

谢谢您的帮助!

Finally figured out how to do it... Made the script write the whole HTML from scratch and then no need to substitute nothing.

SCRIPT:

 function AddCategory(){
        var items = GetListItems("ListID", "caml", "url")
        items.forEach(function(i){ 
            $('#'+i.Categoria).append('<li class="cd-faq__item"><a id="trigger" class="cd-faq__trigger trigger" href="#0"><span>'+i.Pergunta+'</span></a><div class="cd-faq__content"><div class="text-component"><p>'+i.Resposta+'</p></div></div></li>')  
        });
    } 

'i.Categoria' = each category from the list.
'i.Pergunta' = each question posted on the list.
'i.Resposta' = each answer posted on the list.

HTML:

<div class="cd-faq__items">
      <ul id="Compras_TI" class="cd-faq__group">
             <li class="cd-faq__title"><h2>Compras TI</h2></li>       
      </ul> <!-- cd-faq__group -->
</div>
        

So it looks for the Category of the post, and inside of it it appends the HTML adding in it the question and answer posted.

Thank you for who helped!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文