Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
在jquery函数中将a href用作var_Jquery_Function_Jquery Selectors - Fatal编程技术网

在jquery函数中将a href用作var

在jquery函数中将a href用作var,jquery,function,jquery-selectors,Jquery,Function,Jquery Selectors,我有一个函数需要将一些变量附加到div中。其中一个变量是带有onclick的a href链接。如何格式化链接以在函数内的var中工作?下面的命令不起作用 这一切的目的是为了 评估一块文本。计数并将显示限制为200个字符 在文本的其余部分之前插入带有onclick的ahref链接 在文本的其余部分加上一个空格 在链接之后,在范围内插入另一个ahref链接,就在关闭范围标记之前 并将所有修改后的内容插入到div中 我用了两段代码 1) 修剪文本,并在跨距中换行 2) 单击时显示,单击时隐藏

我有一个函数需要将一些变量附加到div中。其中一个变量是带有onclick的a href链接。如何格式化链接以在函数内的var中工作?下面的命令不起作用

这一切的目的是为了

  • 评估一块文本。计数并将显示限制为200个字符
  • 在文本的其余部分之前插入带有onclick的ahref链接
  • 在文本的其余部分加上一个空格
  • 在链接之后,在范围内插入另一个ahref链接,就在关闭范围标记之前
  • 并将所有修改后的内容插入到div中
我用了两段代码

  • 1) 修剪文本,并在跨距中换行

  • 2) 单击时显示,单击时隐藏

我试着把它们混合在一起,得到我需要的东西。每个代码段都独立工作

这是我现在的代码:

<script type="text/javascript">
    function showStuff(id) {
        document.getElementById(id).style.display = 'block';
    }
    function hideStuff(id) {
        document.getElementById(id).style.display = 'none';
    }
$(function() {
    var limit = 200;
    var chars = $("#myDiv").text(); 
    if (chars.length > limit) {
        var visiblePart = $("<div> "+ chars.substr(0, limit-1) + "</div>");
        var readMore = $(<a href="#" onclick="showStuff('answer1'); return false;">open</a>);      
        var hiddenPart = $("<span id='answer1' style='display: none;'> " + chars.substr(limit-1)  + "</span>");
        var readLess = $(<a href=\"#\" onclick=\"hideStuff('answer1'); return false;\">close</a>); 
        });

        $("#myDiv").empty()
            .append(visiblePart)
            .append(readMore)
            .append(hiddenPart)
            .append(readLess);
    }
});

函数showStuff(id){
document.getElementById(id).style.display='block';
}
函数hideStuff(id){
document.getElementById(id).style.display='none';
}
$(函数(){
var限值=200;
var chars=$(“#myDiv”).text();
如果(字符长度>限制){
var visiblePart=$(“”+chars.substr(0,limit-1)+“”);
var readMore=$();
var hiddenPart=$(“”+chars.substr(limit-1)+”);
var readLess=$();
});
$(“#myDiv”).empty()
.append(可视部分)
.append(readMore)
.append(隐藏部分)
.附加(无读);
}
});

如果您使用jQuery,那么请始终如一地使用它。上面的最大错误是HTML不在字符串中,因此JavaScript中会出现语法错误

下面是一个稍微改进的版本:

$(function() {
    var limit = 200;
    var chars = $('#myDiv').text(); 
    if (chars.length > limit) {
        var visiblePart = $('<div />').text(chars.substr(0, limit-1));
        var readMore = $('<a />', {
             href: '#',
             click: function() {
                 hiddenPart.show();
                 return false;
             },
             text: 'open'
        });      
        var hiddenPart = $('<span />', {text: chars.substr(limit-1)}).hide();
        var readLess = $('<a />', {
             href: '#',
             click: function() {
                 hiddenPart.hide();
                 return false;
             },
             text: 'close'
        });  

        $('#myDiv').empty()
            .append(visiblePart)
            .append(readMore)
            .append(hiddenPart)
            .append(readLess);
    }
});
$(函数(){
var限值=200;
var chars=$('#myDiv').text();
如果(字符长度>限制){
var visiblePart=$('').text(chars.substr(0,limit-1));

var readMore=$('

修改了上面Felix的版本,因此两个链接不会同时显示:

编辑:

最后一次清理语法:


+1,但指法一致,然后交替“或”不是在实践你所说的;@Marc:True:)(为了我的辩护:部分是复制和粘贴:o))…修复;)。