通过prop方法给jquery对象属性赋值不起作用

向各位大佬请教:

 $("#blank_showz").empty();
            var $new_obj = $("<div></div>");
            $new_obj.prop("height","30px");
            $new_obj.prop("margin","0 auto");
            $new_obj.prop("th:replace","./odata-template.html :: test-my");
            $("#blank_showz").append($new_obj);
            alert($("#blank_showz").html())
        结果,新dom节点<div>什么属性都没有看到。各位大佬,请问这是什么原因造成的?望各位大佬不吝赐教!
        补充:th:replace是thymeleaf的属性。
再次表示感谢!

js改不了服务器端标签,自己查看服务器端标签生成的客户端标签是什么,更改对应的客户端dom对象。

或者直接ajax请求服务器重新编译一次服务端标签获取返回的html来更新客户端

prop()是设置DOM对象的属性,DOM对象的属性不会出现在html标签的源代码中。
th:replace 是html标签的属性,应该用attr()方法设置
height和margin是css样式的属性,应该用css()方法设置

$new_obj.css("height","30px");
$new_obj.css("margin","0 auto");
$new_obj.attr("th:replace","./odata-template.html :: test-my");

准确讲prop设置的是元素对象的属性及返回值,div中height margin属性存在css中,元素本身不存在此类属性,所以设置失败。

prop 我一般用于 单选框和多选框
$("input[type='checkbox']").prop("checked",true)

可以试试attr()方法

prop() 方法应该用于检索属性值,例如 DOM 属性(如 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。
你这里,只能使用 attr() 方法代
另外

        $new_obj.prop("height","30px");
        $new_obj.prop("margin","0 auto");
                    这个明显是css,方法也用错了,应该$new_obj.css({'height':'30px', 'margin':'0 auto'});