我真的不明白如何在jquery
中这样做如下所示
if ($(this).attr("id") == "something") {
如何获得上面的实际html值?
$(this).attr("id='something'").val();
但显然,上面是错误的。我怎么能得到这个? 顺便说一句,我很有兴趣在表格单元格中获取与id“something”相匹配的值
答案 0 :(得分:1)
您需要将JQuery选择器#
用于元素的ID:
$("#something").text();
答案 1 :(得分:1)
您需要使用id
选择器来获取具有某个ID的元素。
因此,如果id为something
,那么您可以使用$("#something")
获取该元素,然后根据要求使用以下方法。
$("#something").val()
- 例如输入框$("#something").text()
- 例如文字用于跨度或表格单元格$("#something").html()
- 用于html标记如果您正在循环或需要使用$(this)
获取它,那么就像您可以这样做。
if ($(this).attr("id") == "something") {
var html = $(this).html(); //here you can use any of the above method as per requirement.
}
此处还要注意,id
元素必须是唯一的id
选择器返回第一个匹配元素。
如果您无法保持ID唯一,那么您可以使用如下所示的属性选择器。
$('[id="something"]')
如果可能的话考虑使用类,然后你可以通过使用类选择器来获取元素,如下面的
$(".something")
但是当你循环时,你可以使用$(this).hasClass("something")
检查该元素是否有一个类。
我不知道你在哪个集合上循环,但是你可以简单地使用$(".something")
来获取所有这些元素,这样你就不需要检查它是否有类,如下所示。
var arr=[];
$(".something").each(function(){
arr.push($(this).text());
console.log($(this).text());
});

<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td class="something">Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
<tr>
<td>Eve2</td>
<td class="something">Jackson2</td>
<td>947</td>
</tr>
</table>
&#13;
希望它有所帮助!
答案 2 :(得分:0)
if ($(this).attr("id") == "something") {
var htmlVal = $("#something").html();
}
这就是你想要的吗?
答案 3 :(得分:0)
使用find来获取元素。
$(this).find('#something').val();
答案 4 :(得分:0)
您可以使用id
选择器选择元素
例如,
<input type="text" id="txtFirstname" />
为了获得价值,
$('#txtFirstname').val()
获取HTML,
$('#txtFirstname').html()