【问题标题】:how to change the element input button tobe A or Span如何将元素输入按钮更改为 A 或 Span
【发布时间】:2020-01-02 17:23:45
【问题描述】:

代码之前

$( 'input[type=button]' ).on('click', function(){
            var cursorPos = $('#spotsettings-template-code').prop('selectionStart');
            var v = $('#spotsettings-template-code').val();
            var textBefore = v.substring(0,  cursorPos );
            var textAfter  = v.substring( cursorPos, v.length );
            $('#spotsettings-template-code').val( textBefore+ $(this).val() +textAfter );
        });

代码后:这里的示例

$( 'a' ).on('click', function(){
        var cursorPos = $('#text').prop('selectionStart');
        var v = $('#text').val();
        var textBefore = v.substring(0,  cursorPos );
        var textAfter  = v.substring( cursorPos, v.length );
        $('#text').val( textBefore+ $(this).val() +textAfter );
    });

但不工作,,, 它可能将 input[type=button] 更改为 or

<form>
    <textarea id="text" cols="40" rows="3"> </textarea>
<a>[tag_label]</a> or <span>[tag_label]</span>
</form>

抱歉英语不好! 问候 雷加

【问题讨论】:

  • 与 css 选择器指定 or 条件的方式相同。 a, span 逗号表示 OR,没有空格表示 AND,没有逗号的空格表示嵌套。
  • 但是请记住,aspan 标签没有值。它们有内部文本或内部 html
  • 你能告诉我我应该怎么做吗?
  • $(this).text() 将获得aspan 标签的内容,而不是使用val()
  • 我已经尝试过您的建议,但它不起作用,您能解释一下我更改了脚本的原因吗?我非常需要它

标签: javascript input textarea


【解决方案1】:

从 tamplar 找到答案

$('span').on('click', function(){
            var cursorPos = $('#text').prop('selectionStart');
            var v = $('#text').text();
            var textBefore = v.substring(0,  cursorPos );
            var textAfter  = v.substring( cursorPos, v.length );
            $('#text').val( textBefore+ $(this).text() +textAfter );
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多