jquery获取值

 

<table border="1" bordercolor="black" cellspacing="0" align="center" cellpadding="5">
				<thead>
					<tr>
						<td>
							产品编号
						</td>
						<td>
							产品名称
						</td>
						<td>
							产品描述
						</td>
						<td>
							父类
						</td>
						<td>
							增加子类别
						</td>
						<td>
							编辑
						</td>
						<td>
							删除
						</td>
					</tr>
				</thead>
				<c:forEach items="${pageBean.queryResult.resultList}" var="productType">
					<tr class="productName">
						<td class="productTypeId">
							${productType.id }
						</td>
						<td class="productTypeName">
							${productType.name }
						</td>
						<td>
							${productType.note }
						</td>
						<td class="parentTypeId">
							<c:if test="${!empty productType.parentType}">${productType.parentType.name}</c:if>
						</td>
						<td>
							<a href="#dialog" name="addChildProductType">增加</a>
						</td>
						<td class="td">
							<input name="#update" type="button" value="编辑" />
						</td>
						<td>
							<a name="deleteProductType" href="controller/product/productType!deleteProductType.action?productType.id=${productType.id} ">删除</a>
						</td>
					</tr>
				</c:forEach>
			</table>

 在点击“编辑”按钮之后,我想获取“编辑”按钮相对应的那行:

 

<td class="parentTypeId">
							<c:if test="${!empty productType.parentType}">${productType.parentType.name}</c:if>
						</td>
 

里面的html文本值;我的写法是这样的:

 

var parentTypeName = $(this).parent().parent()
								.children(".parentTypeId").html();
						alert(parentTypeName);

 但是提示框显示的是null(我调试的时候是选择那些有值的),我觉得我的问题应该是这段javascript有问题。请朋友赐教。我的想法是这样的:$(this)得到的是

 

 

<input name="#update" type="button" value="编辑" />

 $(this).parent()得到的是

 

 

<td class="td">
							<input name="#update" type="button" value="编辑" />
						</td>

 $(this).parent.parent()得到的是

 

 

<tr class="productName">
						<td class="productTypeId">
							${productType.id }
						</td>
						<td class="productTypeName">
							${productType.name }
						</td>
						<td>
							${productType.note }
						</td>
						<td class="parentTypeId">
							<c:if test="${!empty productType.parentType}">${productType.parentType.name}</c:if>
						</td>
						<td>
							<a href="#dialog" name="addChildProductType">增加</a>
						</td>
						<td class="td">
							<input name="#update" type="button" value="编辑" />
						</td>
						<td>
							<a name="deleteProductType" href="controller/product/productType!deleteProductType.action?productType.id=${productType.id} ">删除</a>
						</td>
					</tr>

 

最后

 

 $(this).parent().parent()	.children(".parentTypeId").html();

 获得的是

 

 

<td class="parentTypeId">
							<c:if test="${!empty productType.parentType}">${productType.parentType.name}</c:if>
						</td>

 的节点值。这么想哪里有错?

 

 

解决这个问题的完整代码:

 

<div id="table">
			<table border="1" bordercolor="black" cellspacing="0" align="center" cellpadding="5">
				<thead>
					<tr>
						<td>
						</td>
						<td>
							产品编号
						</td>
						<td>
							产品名称
						</td>
						<td>
							产品描述
						</td>

						<td>
							父类名称
						</td>
						<td>
							增加子类别
						</td>
						<td>
							编辑
						</td>
						<td>
							删除
						</td>
					</tr>
				</thead>
				<c:forEach items="${pageBean.queryResult.resultList}" var="productType">
					<tr class="productName">
						<td class="parentTypeId">
							<c:if test="${!empty productType.parentType}">
								<input type="hidden" value="${productType.parentType.id}" />
							</c:if>
						</td>
						<td class="productTypeId">
							${productType.id }
						</td>
						<td class="productTypeName">
							${productType.name }
						</td>
						<td>
							${productType.note }
						</td>

						<td class="parentTypeName">
							<c:if test="${!empty productType.parentType}">${productType.parentType.name}</c:if>
						</td>
						<td>
							<input name="#add" type="button" value="添加"></input>
						</td>
						<td>
							<input name="#update" type="button" value="编辑" />
						</td>
						<td>
							<input name="#delete" type="button" value="删除" />
							<%--<a name="deleteProductType" href="controller/product/productType!deleteProductType.action?productType.id=${productType.id} ">删除</a>
						--%>
						</td>
					</tr>
				</c:forEach>
			</table>
		</div>

 

 

 

<div id="update" class="window">
			<img class="close" alt="close" src="/sports/images/greenAcross.gif">
			<form name="updateProductType" action="controller/product/productType!updateProductType.action" method="post">
				<table>
					<caption>
						添加产品子类型
					</caption>
					<tr>
						<td>
							产品父类型:
						</td>
						<td>
							<select name="select">

							</select>
						</td>
					</tr>
					<tr>
						<td>
							产品类型名称:
						</td>
						<td>
							<input id="productTypeName" type="text" name="productType.name">
						</td>
					</tr>
					<tr>
						<td>
							产品类型备注:
						</td>
						<td>
							<input id="productTypeNote" type="text" name="productType.note">
						</td>
					</tr>
					<tr>
						<td>
							<br />
							<input type="submit" name="" value="submit">
						</td>
						<td>
							<br />
							<input type="reset" name="" value="reset">
						</td>
					</tr>
				</table>
			</form>
		</div>
 

对应的jquery代码:

 

$('input[name=#update]').click(function(e) {
		var parentTypeId = $(this).parent().parent().children(".parentTypeId")
				.children().attr("value");
		var currentElement = $(this).parent().parent()
				.children(".parentTypeName");
		var parentTypeName = currentElement.html();
		var productTypeName = currentElement.prev().html();
		var productTypeNote = currentElement.prev().prev().html();
		// $("#productTypeName").attr("value", "cccccc");
		// $("#productTypeNote").attr("value", "dddddd");
		alert((productTypeName).toString());
		$("#productTypeName").attr("value", productTypeName);
		$("#productTypeNote").attr("value", "eeeeeee");
		alert(productTypeName);
		var id = $(this).attr('name');
		location(id);
		$(id).fadeIn(2000);

		$.ajax({
					type : "post",
					dataType : "json",
					url : "controller/product/productType!getIdAndName.action",
					success : function(data, textStatus) {
						var select = $("select[name=select]");
						var option = "";

						// var parentTypeName = $(this).parent().parent()
						// .children(".parentTypeId").html();
						// alert(parentTypeName);
						// var productType = eval("(" + data + ")");
						option += "<option value=\"" + parentTypeId + "\">"
								+ parentTypeName + "</option>";
						for (var i = 0; i < data.result; i++) {
							option += "<option value=\""
									+ data.rows[i].productId + "\">"
									+ data.rows[i].productTypeName
									+ "</option>";
						}
						select.html(option);
					},
					complete : function(XMLHttpRequest, textStatus) {
						// HideLoading();
						// alert("complete");
					},
					error : function() {
						alert("error");
					}
				});
	});
 但是新问题来了:上面代码的这句并不能正确赋值,截图在附件
<think>好的,我现在需要帮助用户了解如何使用jQuery取元素的CSS属性值。首先,用户的问题很明确,就是想知道具体的方法和示例。根据系统级指令,我需要用中文回答,结构清晰,并且引用提供的参考资料。 首先,我应该回顾用户提供的引用内容。引用[1]、[2]、[3]、[4]都提到了jQuery的css()方法。特别是引用[1]详细说明了css()方法既可以取也可以设置样式属性。引用[2]给出了具体的示例,比如取tr元素的background-color属性。引用[3]提到css()方法用于设置或返回样式信息,而引用[4]也提到.css()用于设置样式。 接下来,我需要组织回答的结构。按照用户示例中的格式,应该先简要说明方法,然后给出步骤和代码示例。需要确保行内数学表达式用$...$,但这里可能用不上。独立公式可能也不需要,但代码块需要用正确的语法。 步骤部分可以分为取单个属性和多个属性。例如,使用.css('属性名')取单个值,使用带数组参数的.css()取多个属性。然后,举例说明,比如取背景颜色或字体大小,并展示如何应用到实际元素上,如div或tr。 注意事项部分需要提到浏览器可能返回值的不同格式,比如颜色可能是rgb或十六进制。还要提醒取某些属性前需要元素可见,比如取宽度需要元素不是隐藏的。 最后,生成相关问题,参考用户示例中的问题,比如如何设置属性、不同方法比较、注意事项等。 需要确保所有引用都正确标注,比如在提到取属性值时引用[1]和[2],在提到方法时引用[3]和[4]。同时,代码示例要正确,使用正确的语法,比如$('div').css('font-size')。 现在检查是否有遗漏的要点,是否覆盖了用户的问题,是否有不正确的信息。比如,用户可能想知道是否只能取内联样式,但实际css()方法取的是计算后的样式,这点可能需要提及,但引用中没有明确说明,所以可能不加入,避免超出引用内容。 最后,确保语言口语化,自然流畅,不使用Markdown格式,分步骤说明,代码示例正确,相关问题合理。</think>### 如何用 jQuery 取元素的 CSS 属性值? #### 方法说明 在 jQuery 中,可以通过 `.css()` 方法直接取元素的 CSS 属性值。此方法支持单个属性或多个属性的取,并返回计算后的样式值[^1][^3]。 --- #### 操作步骤 1. **取单个属性值** 语法:`$(selector).css('属性名')` 示例:取 `div` 元素的字体大小 ```javascript var fontSize = $('div').css('font-size'); console.log(fontSize); // 输出:16px ``` 2. **取多个属性值** 语法:`$(selector).css([属性名1, 属性名2])` 示例:同时取背景颜色和宽度 ```javascript var styles = $('div').css(['background-color', 'width']); console.log(styles['background-color']); // 输出:rgb(255, 0, 0) console.log(styles['width']); // 输出:200px ``` 3. **应用场景示例** - 取表格行的背景颜色: ```javascript var bgColor = $('tr').css('background-color'); // 返回 rgb 或十六进制值[^2] ``` - 动态判断元素样式: ```javascript if ($('#box').css('display') === 'none') { // 执行隐藏状态下的逻辑 } ``` --- #### 注意事项 1. **返回值格式** 不同浏览器可能返回值的格式不同(例如颜色值可能为 `rgb()` 或 `#FF0000`)。 2. **依赖渲染状态** 部分属性(如 `width`)需确保元素已渲染到页面后才能正确取[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值