js 判断 id 改变 input 中 value 的部分内容,怎么弄啊。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
SkyRing
V2EX    Javascript

js 判断 id 改变 input 中 value 的部分内容,怎么弄啊。

  •  
  •   SkyRing 2022-12-10 09:02:36 +08:00 2960 次点击
    这是一个创建于 1046 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如

    <input class="text-input" type="text" id="image-link3" value="https://i.xxx.com/Rg1xQrV.png" data-focus="select-all" readOnly="">

    https://i.xxx.com/Rg1xQrV.png

    替换成 https://a.aaa.net/Rg1xQrV.png
    19 条回复    2022-12-10 14:47:17 +08:00
    summerwar
        1
    summerwar  
       2022-12-10 09:09:15 +08:00
    如果是提交的表单,你重写 submit ,在里面替换

    如果是展示的,在模板里写 replace 就好了

    不需要用 js
    summerwar
        2
    summerwar  
       2022-12-10 09:09:40 +08:00
    需要用 js ,但是不需要用 js 判断 id 来改变 input 中的 value
    molvqingtai
        3
    molvqingtai  
       2022-12-10 09:12:27 +08:00 via Android
    const input = document.querySelector("image-link3")

    if input.value === xxx
    input.value = aaa

    手机不好打,大概这样子
    SkyRing
        4
    SkyRing  
    OP
       2022-12-10 09:26:42 +08:00
    @molvqingtai 我试试看
    SkyRing
        5
    SkyRing  
    OP
       2022-12-10 09:31:22 +08:00
    ![07d9f0c7d958fbe98e2bd43cfbcb888a.png]( https://pic1.rpgsky.net/imgcn/moepic/2022/12/10/07d9f0c7d958fbe98e2bd43cfbcb888a.png)
    感觉似乎并无软用啊
    SkyRing
        6
    SkyRing  
    OP
       2022-12-10 09:34:19 +08:00
    xlsama
        7
    xlsama  
       2022-12-10 09:34:58 +08:00
    const el = document.querySelector('#image-link3');

    setTimeout(() => {
    el.setAttribute('id', 'xxx');
    }, 2000);

    const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
    if (mutation.type === 'attributes') {
    console.log('attributes changed');
    el.setAttribute('value', 'https://a.aaa.net/Rg1xQrV.png');
    }
    });
    });

    observer.observe(el, {
    attributeFilter: ['id'],
    });
    SkyRing
        8
    SkyRing  
    OP
       2022-12-10 09:36:01 +08:00
    @summerwar 不判断的话,那岂不是,都变了?
    SkyRing
        9
    SkyRing  
    OP
       2022-12-10 09:38:00 +08:00
    @xlsama 大佬您好,变动的只有 a.aaa.net 就可以了,你这整个全改了诶~
    tonyrft
        10
    tonyrft  
       2022-12-10 09:41:43 +08:00
    嗯,您想要只更改 URL 的一部分而不是整个 URL ,这是可以实现的。您可以使用 Javascript 的 String.replace() 方法来执行替换操作,该方法允许您指定要替换的字符串和替换为的字符串。

    例如,您可以使用以下代码来执行替换操作:

    var inputElement = document.getElementById('image-link3');
    inputElement.value = inputElement.value.replace('https://i.xxx.com', 'https://a.aaa.net');

    请注意,我们在上面的代码中使用了两个参数的 replace() 方法,第一个参数是要替换的字符串(即 'https://i.xxx.com'),第二个参数是替换为的字符串(即 'https://a.aaa.net')。

    如果您需要在页面加载完成后执行此操作,可以将上述代码放在 window.onload 或 document.ready 事件的回调函数中,如前面所述。

    希望这些信息对您有帮助。
    xlsama
        11
    xlsama  
       2022-12-10 09:53:31 +08:00
    @SkyRing
    s.replace(/http(s):\/\/(.*)\//,'https://a.aaa.net/')
    xlsama
        12
    xlsama  
       2022-12-10 09:55:11 +08:00
    el.setAttribute('value', el.value.replace(/http(s):\/\/(.*)\//, 'https://a.aaa.net/'));
    SkyRing
        13
    SkyRing  
    OP
       2022-12-10 11:07:17 +08:00
    @tonyrft 感谢大佬,非常有用,不过又遇到了个新问题,就是这个,他的第二个地址没办法替换,因为只能获取到地址,前面的名称获取问题也没法解决。
    lxiian
        14
    lxiian  
       2022-12-10 12:44:12 +08:00 via iPhone
    你问问 chatgpt ,楼上那个好像就是 chatgpt 给的答案
    loading
        15
    loading  
       2022-12-10 12:51:55 +08:00
    @tonyrft #10 你这 chatgpt ,小心被封号
    xiangyuecn
        16
    xiangyuecn  
       2022-12-10 13:30:31 +08:00   2
    面向问答编程。不建议提供任何直接答案。
    15855pm
        17
    15855pm  
       2022-12-10 13:48:21 +08:00
    过于伸手党了,这不是 js 的问题,你需要先去学习正则表达式,太基础的东西还是问搜索引擎吧
    SkyRing
        18
    SkyRing  
    OP
       2022-12-10 14:46:52 +08:00
    @loading chatgpt 这个是啥东西?
    SkyRing
        19
    SkyRing  
    OP
       2022-12-10 14:47:17 +08:00
    @15855pm 已经解决了,谢啦,各位大佬们
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3285 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 11:32 PVG 19:32 LAX 04:32 JFK 07:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86