Javascript 无法使用JQuery设置占位符属性

Javascript 无法使用JQuery设置占位符属性,javascript,jquery,placeholder,document-ready,dom-manipulation,Javascript,Jquery,Placeholder,Document Ready,Dom Manipulation,在输入字段上设置占位符时遇到问题。下面是DOM: <td id="searchSoNo" class="searchField"> <input class="normal" type="text" size="30" name="opValueDet0" value=""> </td> 该函数运行良好,我可以使用下面的代码代替上面的代码设置其他属性,如“id”和“rel” $('#searchSoNo > input').attr('id',

在输入字段上设置占位符时遇到问题。下面是DOM:

<td id="searchSoNo" class="searchField">    
<input class="normal" type="text" size="30" name="opValueDet0" value="">
</td>
该函数运行良好,我可以使用下面的代码代替上面的代码设置其他属性,如“id”和“rel”

$('#searchSoNo > input').attr('id', 'soNo1');
$('#searchSoNo > input').attr('rel', 'relText');
但是,占位符似乎根本不起作用。有指针吗?


    <td id="searchSoNo" class="searchField">    
    <input id="myInput" class="normal" type="text" size="30" name="opValueDet0" value="">
    </td>

<script>

$('#myInput').attr("placeholder","MyPlaceHolder");
//or
$('#myInput').prop("placeholder","MyPlaceHolder");

</script>
$('#myInput').attr(“占位符”,“MyPlaceHolder”); //或 $('#myInput').prop(“占位符”、“MyPlaceHolder”);


$(“#searchSoNo>input[type=“text”]”)prop(“占位符”、“我的占位符”);

我也不明白这种方法,但如果您在输入上设置一个ID并按ID获取元素,它就会工作

<td id="searchSoNo" class="searchField">    
<input id="ipt" class="normal" type="text" size="30" name="opValueDet0" value="">
</td>

$('#ipt').attr('placeholder', 'SO no');

$('ipt').attr('placeholder','SO no');

感谢所有回复。我看到它在其他地方工作(例如在JSFIDLE中)。但不幸的是,在我的页面上似乎不起作用。我尝试过调试,可以看到占位符已设置,但后来被删除

作为一个解决方案,我已经将脚本移动到window.load(from document.ready)处理程序中,现在它工作正常


再次感谢您的所有意见。

似乎工作正常:。检查控制台是否有错误,并确保DOM中只有一个
#searchSoNo
元素。这与OP在选择器上所说的相同,因此我不确定您希望它有什么不同。
        <td id="searchSoNo" class="searchField">    
        <input class="normal" type="text" size="30" name="opValueDet0" value="">
        </td>

    <script>

$('#searchSoNo > input[type="text"]').prop("placeholder","MyPlaceHolder");

</script>
<td id="searchSoNo" class="searchField">    
<input id="ipt" class="normal" type="text" size="30" name="opValueDet0" value="">
</td>

$('#ipt').attr('placeholder', 'SO no');