【问题标题】:Call a simple javascript function调用一个简单的javascript函数
【发布时间】:2016-12-28 12:24:21
【问题描述】:

我有这段代码,我在具有特定 ID 的标签之后插入了一个阅读更多链接:

$( "<a class='readMore' href='/moreByggherre' id='moreByggherre'>Läs mer</a>" ).insertAfter( $("label[for='Byggherre']") );

上面的代码可以工作,但是因为我会经常这样做,所以我想要一个函数,它只接受 ID 并使用 inserAfter 输出 html 代码。

我试过了,但它似乎不起作用:

createReadMoreBtn('Byggherre');
function createReadMoreBtn($id){
    $insertTxt = "<a class='readMore' href='/more".$id."' id='more".$id."'>Läs mer</a>";
    $( $insertTxt ).insertAfter( $("label[for='".$id."']") );
}

【问题讨论】:

  • 你从什么 HTML 开始?我认为您错误地使用了&lt;label&gt; element&lt;label&gt; 应该标识特定的表单元素(例如&lt;input&gt;&lt;textarea&gt;&lt;select&gt; 等)而不是不仅仅是在页面上“标记”任意内容,而是在没有上下文的情况下很难确定,提供更好更有用的方法来按照你的要求去做。
  • 我使用&lt;label&gt;,因为我希望在标题旁边插入阅读更多按钮,这很有效。我之前用过&lt;input&gt;,但是没用。我的问题是我使用. 来连接而不是+
  • 解释你的代码不如展示你的代码有帮助。

标签: javascript jquery function insertafter


【解决方案1】:

使用.进行连接不是PHP,您需要在JavaScript中使用+进行连接。

createReadMoreBtn('Byggherre');

function createReadMoreBtn($id)
{
    $insertTxt = "<a class='readMore' href='/more" + $id + "' id='more" + $id + "'>Läs mer</a>";
    $( $insertTxt ).insertAfter( $("label[for='" + $id + "']") );
}

【讨论】:

    【解决方案2】:

    你可以试试这个吗?

     createReadMoreBtn('Byggherre');
    
        function createReadMoreBtn($id)
        {
            $insertTxt = "<a class='readMore' href='/more"+$id+"' id='more"+$id+"'>Läs mer</a>";
            $( $insertTxt ).insertAfter( $("label[for='"+$id+"']") );
        }
    

    【讨论】:

    • 是的,它适用于 +,但需要它在 $id 的两侧,而不仅仅是在左边。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2015-08-19
    相关资源
    最近更新 更多