如何在DIV中使用XML标记作为JQuery选择器

时间:2015-10-05 19:10:33

标签: javascript jquery html xml

小提琴:http://jsfiddle.net/0dapo32a/1/

HTML:

<div class="test1">
<office1><a title="98 Tuvalu road" href="/IDD=1603">98 Tuvalu road</a></office1>
</div>
<div class="test1">
<office2><a title="900 Bleek Ave" href="/IDD=23">900 Bleek Ave</a></office2>
</div>
<div class="test1">
<office3><a title="73 Wabash Street" href="/IDD=3">73 Wabash Street</a></office3>
</div>

如何编辑JQuery以根据条件附加锚文本。

4 个答案:

答案 0 :(得分:2)

您的选择者正在使用match[1]寻找.test1的直接子女。

更改为

>

它工作正常

DEMO

答案 1 :(得分:1)

与使用任何其他标记名称的方式相同

$(".test1 office1 a")

如果您想要定位所有3个办公室标签,则需要执行三次并用逗号分隔

$(".test1 office1 a,.test1 office2 a,.test1 office3 a")

或者只删除您正在使用的子选择器

$(".test1 a")

虽然请注意,最后一个会选择a

范围内的任何.test1标记

答案 2 :(得分:1)

>的jQuery选择器查找.test1类的直接子项。将其更改为$(".test1 a")以匹配该类后代的所有a

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="test1">
<office1><a title="98 Tuvalu road" href="/IDD=1603">98 Tuvalu road</a></office1>
</div>
<div class="test1">
<office2><a title="900 Bleek Ave" href="/IDD=23">900 Bleek Ave</a></office2>
</div>
<div class="test1">
<office3><a title="73 Wabash Street" href="/IDD=3">73 Wabash Street</a></office3>
</div>
<script>
var vCityState = new Array("| Darien CT", "| Greenwich CT");

$(".test1 a").text(function (index, oldText) {
    if (oldText.indexOf("900") > -1) {
					return oldText + vCityState[0];
				}
    if (oldText.indexOf("Wabash") > -1) {
					return oldText + vCityState[1];
				}
});  
</script>

答案 3 :(得分:0)

jQuery不关心标签是XML还是基于字符串查找的任何内容。

所以你可以使用:

$("div office1").css("backgroundColor","red");

//or
$("div office1").append('<a href="http://google.com">google</a>');