我想将文本从dd传递给输入值,但我无法弄清楚如何管理它。
以下是HTML中的代码:
<dd>
<dt class="Phone">Phone:</dt>
<dd class="Phone"><p>+995595858567</p>
</dd>
<input type="text" name="phone2" class="phone2" id="phone2 value=""></input>
以下是我使用的jQuery代码:
$('dd.Phone').ready(function() {
$('#phone2').text($(this).text());
});
我需要立即发生这种情况(不是点击或更改等)
我在JS中非常糟糕,所以请你能给我任何想法吗?
答案 0 :(得分:1)
你有两个问题。第一个是<input type="text" />
自我关闭(注意最后/>
,而不是需要</input>
标记。
其次,就输入而言,您需要设置.value
属性,而不是.textContent
属性。为此,在jQuery中,您将需要使用.val()
:
jQuery(function ($) {
$('#phone2').val($('dd.Phone p').text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<dl>
<dt class="Phone">Phone:</dt>
<dd class="Phone"><p>+995595858567</p></dd>
</dl>
<input type="text" name="phone2" class="phone2" id="phone2" value="" />
修改强>
评论者对我来说太快了。感谢 @MikeMcCaughan , @GoneCoding 和 @Taplar ,他们对答案有了很好的补充。
作为 @MikeMcCaughan 注意事项,根据您对XHTML与HTML5的使用情况,使用<input type="text">
而不使用结束斜杠/>
&lt; - 这里看到的情况也是合理的
在评论中提及 @GoneCoding 时,输入元素缺少一个结束双括号,以关闭id
字段上的input
属性。
此外,我更正了HTML标记。我认为将<dd>
或<dt>
嵌套在另一个<dd>
内并不合适。此外,内部<dd>
未正确关闭</dd>
。
答案 1 :(得分:1)
您只需将代码直接放在就绪函数中:
$(function() {
$('#phone2').val($('dd.Phone').text());
});
注1:您的输入代码中有一个引用"
错字,但它不会以</input>
结尾:
<input type="text" name="phone2" class="phone2" id="phone2 value=""></input>
__________________________________________________________^ //Missing quote here
应该是:
<input type="text" name="phone2" class="phone2" id="phone2" value=""/>
注2:输入没有text()
方法使用val()
代替设置值。
希望这有帮助。