我如何处理 jQuery 中锚点的文本值更改为“”的情况

How can I deal with a case in jQuery where an anchor's text value is changed to ""?

本文关键字:文本 情况 何处理 处理 jQuery      更新时间:2023-09-26

这是代码:Jsfiddle

  1. 我有一个表单,可以通过在链接上单击dbl单击或在a内部div内单击来编辑a文本值。
  2. Onblur,输入框中在 1. 中的条件中显示的值被分配给a的文本值。

问题:当您将输入留空并模糊它时,它会将a的文本设置为""。此时,它周围的div崩溃并且用户无法访问。

如何防止这种崩溃的发生?

这样做,你的问题就会得到解决。

在模糊中,只需检查值长度为零,然后显示输入字段,否则显示超链接。

$('#url0, #url1').each(
    function(index, element){
        $(element).blur(function(){
            if ($(this).val().length == 0)
                $(this).show();
            else
                $(this).hide().prev().show().find('a').html(this.value);
        });
    }    
);

参考此现场演示

这个伙伴呢?

http://jsfiddle.net/jaspermogg/EdtC2/4/

$('#url0, #url1').each(
    function(index, element){
        $(element).blur(function(){
        this.value == "" ? $(this).hide().prev().show().find('a').html("[insert text here]") : $(this).hide().prev().show().find('a').html(this.value);
    })
    }    
);

如果输入框为空,则将a设置为"[在此处插入文本]"。或者你想要一个实际上不可见的情况?如果是这种情况,例如,您可以随时更改文本颜色以匹配背景?

根本不是错误。您的a标签为空,它会折叠。

请参阅此演示以了解。您需要在其上设置一些css以使其不会折叠。例如,边框使其按预期工作。添加填充或边距也可以。使其显示内联块还可以修复它,而无需任何额外的边框、填充或边距。

.a0 a {
    display: inline-block;
}​

试试这个。

我只是添加了一个边框,默认宽度和高度,以便即使在删除输入后div 也可见/可单击。您可能不需要这样做。

相关文章: