求高手指导:jquery只能为文本框设置一次值?为什么不能设置后再改值?

demo大师粉丝 2020-06-01 10:58:37
<form class="gsc-search-box gsc-search-box-tools" accept-charset="utf-8">
<table cellspacing="0" cellpadding="0" class="gsc-search-box">
<tbody>
<tr>
<td class="gsc-input">
<div class="gsc-input-box" id="gsc-iw-id1">
<table cellspacing="0" cellpadding="0" id="gs_id50" class="gstl_50 gsc-input" style="width: 100%; padding: 0px;">
<tbody>
<tr>
<td id="gs_tti50" class="gsib_a">

<input autocomplete="off" type="text" size="10" class="gsc-input" name="search" title="搜索" id="gsc-i-id1" style="width: 100%; padding: 0px; border: none; margin: 0px; height: auto; background: url("https://www.google.com/cse/static/images/1x/zh_CN/branding.png") left center no-repeat rgb(255, 255, 255); outline: none;" dir="ltr" spellcheck="false" />

</td>
<td class="gsib_b">
<div class="gsst_b" id="gs_st50" dir="ltr">
<a class="gsst_a" href="javascript:void(0)" style="display: none;" title="清空搜索框" role="button"><span class="gscb_a" id="gs_cb50" aria-hidden="true">×</span></a>
</div></td>
</tr>
</tbody>
</table>
</div></td>
<td class="gsc-search-button"><button class="gsc-search-button gsc-search-button-v2">
<svg width="13" height="13" viewbox="0 0 13 13">
<title>搜索</title>
<path d="m4.8495 7.8226c0.82666 0 1.5262-0.29146 2.0985-0.87438 0.57232-0.58292 0.86378-1.2877 0.87438-2.1144 0.010599-0.82666-0.28086-1.5262-0.87438-2.0985-0.59352-0.57232-1.293-0.86378-2.0985-0.87438-0.8055-0.010599-1.5103 0.28086-2.1144 0.87438-0.60414 0.59352-0.8956 1.293-0.87438 2.0985 0.021197 0.8055 0.31266 1.5103 0.87438 2.1144 0.56172 0.60414 1.2665 0.8956 2.1144 0.87438zm4.4695 0.2115 3.681 3.6819-1.259 1.284-3.6817-3.7 0.0019784-0.69479-0.090043-0.098846c-0.87973 0.76087-1.92 1.1413-3.1207 1.1413-1.3553 0-2.5025-0.46363-3.4417-1.3909s-1.4088-2.0686-1.4088-3.4239c0-1.3553 0.4696-2.4966 1.4088-3.4239 0.9392-0.92727 2.0864-1.3969 3.4417-1.4088 1.3553-0.011889 2.4906 0.45771 3.406 1.4088 0.9154 0.95107 1.379 2.0924 1.3909 3.4239 0 1.2126-0.38043 2.2588-1.1413 3.1385l0.098834 0.090049z"></path>
</svg></button></td>
<td class="gsc-clear-button">
<div class="gsc-clear-button" title="清除结果">
 
</div></td>
</tr>
</tbody>
</table>
</form>

--------------------------------------------
上文的html里面的:<input autocomplete="off" type="text" size="10" ...
jquery只能为该文本框设置一次值?为什么不能设置后再改值?
我用$("#gsc-i-id1").attr("value","ggg "); 在网页里面能看到设置进去了,但我再换一个值,yyy,则文本框的value依然是ggg,为什么?

另外很奇怪的问题,我对文中的button,使用jQuery进行点击操作,如下:
$('.gsc-search-button gsc-search-button-v2').click();
不起效?
为什么?
...全文
219 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
HaLo120706 2020-06-03
  • 打赏
  • 举报
回复
$.attr("value",value) 修改的是标记,就是初值 $.val(value) 修改的是值域,就是用户可交互改变的
jio可 2020-06-02
  • 打赏
  • 举报
回复

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<input id="a" type="text">
<script>
$('#a').attr('value', 'ggg')
setTimeout(() => {
  $('#a').attr('value', 'yyy')
}, 2000)
</script>
click那个选择器写错了,根本没有dom的。

$('.gsc-search-button.gsc-search-button-v2').click();
demo大师粉丝 2020-06-02
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪 的回复:
可能是你第一次设置gsc-i-id1之后,其它代码(比如某个js框架或js插件)对#gsc-i-id1元素进行了替换。 通过多个class名称选择元素时每个class名称前面都要加"."并且之间不能有空格。有空格就成了后代选择符。 $('.gsc-search-button.gsc-search-button-v2').click();
不是的,每次设置值,包括第二次后的,我通过浏览器调试实时能看到 value值改变了,只是文本框没有出现变化,奇怪得很,,
天际的海浪 2020-06-02
  • 打赏
  • 举报
回复
可能是你第一次设置gsc-i-id1之后,其它代码(比如某个js框架或js插件)对#gsc-i-id1元素进行了替换。 通过多个class名称选择元素时每个class名称前面都要加"."并且之间不能有空格。有空格就成了后代选择符。 $('.gsc-search-button.gsc-search-button-v2').click();
天际的海浪 2020-06-02
  • 打赏
  • 举报
回复
用 val('yyy') 设置试试
yuqiz1981 2020-06-02
  • 打赏
  • 举报
回复
使用on("click",function)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧