3 回答

TA贡献1831条经验 获得超10个赞
value不是该<div>元素的有效属性 - 因此 jQuery 无法通过 返回它.val()。
相反,我建议您使用data-value="..."然后.data("value")使用
$(function(){
$("div").click(function() {
console.log($(this).data("value"));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="padding-left:30px;" data-value="C:\ANOTHER FOLDER WITH FILES\SUBFOLDER">
<img src="../graphics/icons/closedfolder.gif" /> SUBFOLDER</div>
value不是该<div>元素的有效属性 - 因此 jQuery 无法通过 返回它.val()。
相反,我建议您使用data-value="..."然后.data("value")使用
$(function(){
$("div").click(function() {
console.log($(this).data("value"));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div style="padding-left:30px;" data-value="C:\ANOTHER FOLDER WITH FILES\SUBFOLDER">
<img src="../graphics/icons/closedfolder.gif" /> SUBFOLDER</div>

TA贡献1825条经验 获得超6个赞
如前所述,div 没有值。您需要使用数据属性。
$(document).ready(function () {
$("#destinationSelector>div").live("click", function () {
window.alert("You Clicked the Path Selection for Move");
$(this).siblings().css('background-color', '#fff');
$(this).css('background-color', '#ccc');
$("#moveto").val($(this).attr('data-value'));
window.alert($(this).attr('data-value'));
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<b>Select the destination:</b>
<div id="destinationSelector">
<div style="padding-left:45px;" data-value="C:\ANOTHER FOLDER WITH FILES\SUBFOLDER\SUBSUBFOLDER">
<img src="../graphics/icons/closedfolder.gif" /> SUBSUBFOLDER
</div>
<div style="padding-left:30px;" data-value="C:\ANOTHER FOLDER WITH FILES\SUBFOLDER">
<img src="../graphics/icons/closedfolder.gif" /> SUBFOLDER
</div>
<div style="padding-left:15px;" data-value="C:\ANOTHER FOLDER WITH FILES">
<img src="../graphics/icons/closedfolder.gif" /> ANOTHER FOLDER WITH FILES
</div>
<div style="padding-left:15px;" data-value="C:\Test Folder">
<img src="../graphics/icons/closedfolder.gif" /> Test Folder
</div>
<div style="padding-left:30px;" data-value="C:\TEST FOLDER WITH FILES\SUBFOLDER">
<img src="../graphics/icons/closedfolder.gif" /> SUBFOLDER
</div>
<div style="padding-left:15px;" data-value="C:\TEST FOLDER WITH FILES">
<img src="../graphics/icons/closedfolder.gif" /> TEST FOLDER WITH FILES
</div>
<div style="padding-left:15px;" data-value="C:\TEST MOVE FOLDER">
<img src="../graphics/icons/closedfolder.gif" /> TEST MOVE FOLDER
</div>
</div>
<input name="moveto" id="moveto" type="hidden" />

TA贡献1797条经验 获得超6个赞
Div 没有val
,我建议将 div 中的值更改为data-value
然后使用它来获取该字符串:
$("#moveto").val($(this).data("value"));
或者你可以在不改变 div 的情况下试试这个
$("#moveto").val($(this).attr("value"));
添加回答
举报